web.config中
<authentication mode="Forms">
<forms loginUrl="Register/Login.aspx" name="AuthCookie" path="/" protection="All"/>
</authentication>
<location path="ResourcePub/aaa">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
Global.asax.cs:
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
string cookieName = FormsAuthentication.FormsCookieName;
HttpCookie authCookie = Context.Request.Cookies[cookieName]; if(null == authCookie)
{
return;
}
FormsAuthenticationTicket authTicket = null;
try
{
authTicket = FormsAuthentication.Decrypt(authCookie.Value);
}
catch(Exception ex)
{ return;
} if (null == authTicket)
{ return;
}
string[] roles = authTicket.UserData.Split(new char[]{'|'});
FormsIdentity id = new FormsIdentity( authTicket );
GenericPrincipal principal = new GenericPrincipal(id, roles);
Context.User = principal;
}
Login.aspx.cs
string roles="管理员";FormsAuthenticationTicket authTicket= new FormsAuthenticationTicket(1,this.UserName .Text,DateTime.Now ,DateTime.Now .AddMinutes (60),false,roles);string encryptedTicket = FormsAuthentication.Encrypt (authTicket);HttpCookie authCookie=new HttpCookie(FormsAuthentication.FormsCookieName ,encryptedTicket);Response.Cookies .Add (authCookie);Response.Redirect (FormsAuthentication.GetRedirectUrl(this.UserName .Text ,false));
===================================================================
FormsAuthentication.GetRedirectUrl(this.UserName .Text ,false)并没有得到我开始请求的Url
而是得到default.aspx,这是怎么回事啊??请大家帮帮忙!!!
<authentication mode="Forms">
<forms loginUrl="Register/Login.aspx" name="AuthCookie" path="/" protection="All"/>
</authentication>
<location path="ResourcePub/aaa">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
Global.asax.cs:
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
string cookieName = FormsAuthentication.FormsCookieName;
HttpCookie authCookie = Context.Request.Cookies[cookieName]; if(null == authCookie)
{
return;
}
FormsAuthenticationTicket authTicket = null;
try
{
authTicket = FormsAuthentication.Decrypt(authCookie.Value);
}
catch(Exception ex)
{ return;
} if (null == authTicket)
{ return;
}
string[] roles = authTicket.UserData.Split(new char[]{'|'});
FormsIdentity id = new FormsIdentity( authTicket );
GenericPrincipal principal = new GenericPrincipal(id, roles);
Context.User = principal;
}
Login.aspx.cs
string roles="管理员";FormsAuthenticationTicket authTicket= new FormsAuthenticationTicket(1,this.UserName .Text,DateTime.Now ,DateTime.Now .AddMinutes (60),false,roles);string encryptedTicket = FormsAuthentication.Encrypt (authTicket);HttpCookie authCookie=new HttpCookie(FormsAuthentication.FormsCookieName ,encryptedTicket);Response.Cookies .Add (authCookie);Response.Redirect (FormsAuthentication.GetRedirectUrl(this.UserName .Text ,false));
===================================================================
FormsAuthentication.GetRedirectUrl(this.UserName .Text ,false)并没有得到我开始请求的Url
而是得到default.aspx,这是怎么回事啊??请大家帮帮忙!!!
解决方案 »
- IIS安装问题
- 取编辑后的网格中的值,怎么还是以前的值 string str1=((TextBox)this.Gridview1.Rows[e.RowIndex].Cell
- 在数据库中显示为“2010-01-01 02:02:02”,但ASP.NET输出“2010-1-1 2:2:2”,“0”不见了。
- CSS独立文件的优点
- ***GridView问题
- 上传文件时出现路径被拒绝访问?
- 问一个关于 Session 的“生命周期”问题:???
- ie出现这样的黄页信息应该如何解决
- 一个很简单的问题,请各位高手帮忙看一下??
- 请教如何在ASP.NET AJAX服务器端中获取DIV(DIV是用户可编辑的)的innerHTML?
- 求助
- 水晶报表能不能完成这样得表格???应该怎么做
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
只是说ResourcePub/aaa不允许匿名,其他的路径呢?
<allow users="*" /> <!-- 允许所有用户 -->
</authorization>
其他就可以啊
<a href="ResourcePub/aaa/generalinf.aspx" target=_blank >generalinf</a>
default.aspx也是起始页
点击链接generalinf,因为不允许匿名所以来到Register/Login.aspx,登陆