---
title: "Automatisk inloggning sturlar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/162531-automatisk-inloggning-sturlar"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "thevice"
published: "2007-07-13T17:41:02.000Z"
updated: "2007-11-14T19:29:01.000Z"
replies: 14
views: 948
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/162531-automatisk-inloggning-sturlar"
---

# Automatisk inloggning sturlar

## #1 — thevice, 2007-07-13T17:41Z

Hej!

Jag har försökt göra en automatiskt inloggning men det vill sig inte. Jag får inget felmeddelande eller något men man loggas inte in automatiskt.
Min kaka sätts som och den finns. Men de rätta värdena, så vad gör jag för fel?

Jag har en "BasePage" som jag inkluderar på alla sidor och i BasePage.cs´s PreInit så kollar jag om man är inloggad och om kakorna har något värde. Har de det så loggas man in. Men något går snett.

Kan det vara att jag kollar om man har man är inloggad osv i min BasePage? Eller att de ligger i PreInit?

Här har ni min kod:

```
if ((Convert.ToString(Session["intID"]) == null) && !(Request.Cookies["cUserName"] == null) && !(Request.Cookies["cPassword"] == null) && !Page.IsPostBack)
{			
	using (MySqlConnection objConnection = new MySqlConnection(ConfigurationManager.AppSettings["DatabaseConnection"]))
	{
		objConnection.Open();
		using (MySqlCommand objCommand = objConnection.CreateCommand())
		{
			objCommand.CommandText = "sp_MemberLogin";
			objCommand.CommandType = CommandType.StoredProcedure;

			objCommand.Parameters.Add(new MySqlParameter("in_Username", Convert.ToString(Response.Cookies["cUserName"].Value)));
			objCommand.Parameters.Add(new MySqlParameter("in_Password", Convert.ToString(Response.Cookies["cPassword"].Value)));
			objCommand.Parameters.Add(new MySqlParameter("in_LastLogin", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")));
			objCommand.Parameters.Add(new MySqlParameter("in_IP", Convert.ToString(Request.ServerVariables["REMOTE_ADDR"])));

			using (MySqlDataReader objDataReader = objCommand.ExecuteReader())
			{
				if (objDataReader.HasRows)
				{
					objDataReader.Read();
					if (Convert.ToInt32(objDataReader["intBanned"]) == 0)
					{
						Session.Add("intID", Convert.ToInt32(objDataReader["intID"]));
						Session.Add("strRole", Convert.ToString(objDataReader["strRole"]));
						Session.Timeout = 60;
					}
					else
					{
						Session.Add("intBanned", "1");
						Response.Redirect("banned.aspx");
					}
				}
			}
		}
		objConnection.Close();
	}
	Response.Redirect("Default.aspx");
}
```

Tacksam för all hjälp!
/ Timmie

Permalänk: https://www.webforum.nu/p/162531

## #2 — thevice, 2007-07-13T18:31Z

Kan det vara några problem med hur jag sätter min cookie?

```
Response.Cookies["cUserName"].Value = Convert.ToString(tbUsername.Text);
Response.Cookies["cUserName"].Expires = DateTime.Now.AddYears(30);
Response.Cookies["cPassword"].Value = Convert.ToString(tbPassword.Text.ToString());
Response.Cookies["cPassword"].Expires = DateTime.Now.AddYears(30);
```

Permalänk: https://www.webforum.nu/p/2003416

## #3 — desdecado, 2007-07-13T23:02Z

Men... kör du inte VS.Net 2003/2005 så du kan debugga och stega igenom och se precis vad som händer?

Permalänk: https://www.webforum.nu/p/2003468

## #4 — thevice, 2007-07-14T10:31Z

Tycker detta är riktigt stört. När jag debuggar så fungerar det. Jag kör jämt ctrl + f5. Men om jag laddar upp sidan på mitt webbhotell så fungerar det inte.
Hur ska jag lösa detta?

Permalänk: https://www.webforum.nu/p/2003494

## #5 — emission, 2007-07-15T20:53Z

Använd Trace

http://msdn2.microsoft.com/en-us/library/y13fw6we(VS.71).aspx

Permalänk: https://www.webforum.nu/p/2003941

## #6 — thevice, 2007-07-16T09:05Z

Jag måste har gjort något fel när jag kollade om det fungerar med debugging. För det gör det inte nu.
Kakan finns om jag använder trace och kollar på Response Cookie men inte i Request Cookie?

Permalänk: https://www.webforum.nu/p/2004025

## #7 — emission, 2007-07-16T09:18Z

Kakan dyker inte upp i Request förrän vid nästa sidhämtning.

Kakan sätts väl från samma domän?

Permalänk: https://www.webforum.nu/p/2004032

## #8 — thevice, 2007-07-16T10:21Z

Okej, japp det gör den.
Jag testade att skriva ut den på sidan och då så kommer kakans värde fram. Vad är det som är fel?

Permalänk: https://www.webforum.nu/p/2004055

## #9 — thevice, 2007-07-16T10:32Z

Nu har jag testat lite. Om jag tar bort (Convert.ToString(Session\["intID"\]) == null) så fungerar det.
Eller nja inte riktigt fungerar jag får detta i Firefox trots att jag tillåter kakor på denna sida:
Firefox har upptäckt att servern dirigerar om förfrågan om den här platsen på ett sätt som omöjliggör ett slutförande.
Det här problemet kan ibland uppstå om du avaktiverat eller nekat att ta
    emot kakor.

Permalänk: https://www.webforum.nu/p/2004061

## #10 — thevice, 2007-07-16T19:36Z

Eftersom att ingenting fungerade när jag hade "Session\["intID"\]) == null" i denna kod rad:

```
if ((Convert.ToString(Session["intID"]) == null) && !(Request.Cookies["cUserName"] == null) && !(Request.Cookies["cPassword"] == null) && !Page.IsPostBack)
```

Så tog jag ju bort det och fick det felet som jag skrev i mitt förra inlägg.
Men jag måste ju självklart kolla ifall man är inloggad eller inte. Så jag tänkte göra något så här:

```
if (!(Convert.ToString(Session["intID"]) == null) && !Page.IsPostBack)
{
  // Gör lite saker om man är inloggad
}
else
{
  if ((Request.Cookies["cUserName"] != null) && (Request.Cookies["cPassword"] != null) && !Page.IsPostBack)
  {
    // Loggar in om man har kryssat i det.
  }
}
```

Men det vill sig inte heller. Då börjar jag om från början igen. Vad är det för något jag gör fel? Läser jag av min kaka fel? Sätter jag min kaka fel?

Permalänk: https://www.webforum.nu/p/2004176

## #11 — thevice, 2007-07-22T18:37Z

Är det ingen som har någon idé om vad som kan vara fel?

Permalänk: https://www.webforum.nu/p/2005483

## #12 — thevice, 2007-10-02T16:29Z

Jag har fortfarande inte löst problemet. Något måste jag har gjort fel, någon som sitter inne med en artikel eller liknande hur man fixar det automatiskt inloggning utan forms authentication?

Permalänk: https://www.webforum.nu/p/2036117

## #13 — Zaiman, 2007-10-13T09:05Z

Vet inte om det behövs men för mig som kör med Forms login så behöver jag sätta 

```
timeout="1209600"
```

 i Forms taggen i Web.Config för att den automatiskt ska logga in. Kanske är det något sådant som behövs även för dig?

Inte svar på din fråga men kanske en puff i rätt riktning.

Permalänk: https://www.webforum.nu/p/2038580

## #14 — thevice, 2007-10-30T14:35Z

Hejsan,
Jag testade att lägga dit detta i web.config. Kanske något som kan ändras/läggas dit där för det ska fungera?

```
    <authentication mode="Windows">
      <forms cookieless="AutoDetect" timeout="1209600" domain="http://www.llife.se" enableCrossAppRedirects="true" />
    </authentication>
```

Kan man annars göra något i global.asax för att inloggningen ska kunna fungera?

Permalänk: https://www.webforum.nu/p/2045282

## #15 — Zaiman, 2007-11-14T19:29Z

> **thevice skrev:**
>
> Hejsan,
> Jag testade att lägga dit detta i web.config. Kanske något som kan ändras/läggas dit där för det ska fungera?
>
>
> ```
>     <authentication mode="Windows">
>       <forms cookieless="AutoDetect" timeout="1209600" domain="http://www.llife.se" enableCrossAppRedirects="true" />
>     </authentication>
> ```

plocka bort "http://www."  Det ska endast vara domännamnet.

```
    <authentication mode="Windows">
      <forms cookieless="AutoDetect" timeout="1209600" domain="llife.se" enableCrossAppRedirects="true" />
    </authentication>
```

Permalänk: https://www.webforum.nu/p/2051617

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/162531-automatisk-inloggning-sturlar
