aps.net 基于Forms 带有角色的身份验证
2012-04-25 21:56
423 查看
---------------------------------------Web.Config文件配置信息 --------------------
<authentication mode="Forms">
<forms name="app" loginUrl="Login.aspx"></forms>
</authentication>
<!--拦截页面-->
<location path="Admin">
<system.web>
<authorization>
<allow roles="admin"/>
<!--拒绝所有其他的用户访问-->
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="BackUp">
<system.web>
<authorization>
<!--admin bk 的用户角色-->
<allow roles="admin,bk"/>
<!--拒绝所有用户访问-->
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="User">
<system.web>
<authorization>
<!--拒绝所有匿名用户访问-->
<deny users="?"/>
</authorization>
</system.web>
</location>
---------------------------------这是在Global.asax 文件代码-----------------------------
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
if (HttpContext.Current.User != null)
{
// 判断用户是否进行了身份验证
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
// 判断用户的是否进行了Forms 身份验证
if (HttpContext.Current.User.Identity is FormsIdentity)
{
// 获得用户进行了Forms 身份验证的身份标识
FormsIdentity userIdent = (FormsIdentity)HttpContext.Current.User.Identity;
// 从身份验证票中获得用户数据
string userData = userIdent.Ticket.UserData;
//分割用户信息得到用户角色数据信息
string[] roles = userData.Split(',');
//从用户标识和角色数组初始化GenericPrincipal
HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(userIdent, roles);
}
}
}
}
-----------------------------------------------登录页面设置-------------------------------
FormsAuthenticationTicket tickect = new FormsAuthenticationTicket(1, "XXOO", DateTime.Now,
DateTime.Now.AddMinutes(5), false, role);
//加密票据
string Encrypt = FormsAuthentication.Encrypt(tickect);
//创建Cookies
HttpCookie mycookies = new HttpCookie(FormsAuthentication.FormsCookieName,Encrypt);
//将cookies 写入客户端
Response.Cookies.Add(mycookies);
//跳转到初始请求页 或默认页
Response.Redirect(FormsAuthentication.GetRedirectUrl("XXOO",false));
<authentication mode="Forms">
<forms name="app" loginUrl="Login.aspx"></forms>
</authentication>
<!--拦截页面-->
<location path="Admin">
<system.web>
<authorization>
<allow roles="admin"/>
<!--拒绝所有其他的用户访问-->
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="BackUp">
<system.web>
<authorization>
<!--admin bk 的用户角色-->
<allow roles="admin,bk"/>
<!--拒绝所有用户访问-->
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="User">
<system.web>
<authorization>
<!--拒绝所有匿名用户访问-->
<deny users="?"/>
</authorization>
</system.web>
</location>
---------------------------------这是在Global.asax 文件代码-----------------------------
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
if (HttpContext.Current.User != null)
{
// 判断用户是否进行了身份验证
if (HttpContext.Current.User.Identity.IsAuthenticated)
{
// 判断用户的是否进行了Forms 身份验证
if (HttpContext.Current.User.Identity is FormsIdentity)
{
// 获得用户进行了Forms 身份验证的身份标识
FormsIdentity userIdent = (FormsIdentity)HttpContext.Current.User.Identity;
// 从身份验证票中获得用户数据
string userData = userIdent.Ticket.UserData;
//分割用户信息得到用户角色数据信息
string[] roles = userData.Split(',');
//从用户标识和角色数组初始化GenericPrincipal
HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(userIdent, roles);
}
}
}
}
-----------------------------------------------登录页面设置-------------------------------
FormsAuthenticationTicket tickect = new FormsAuthenticationTicket(1, "XXOO", DateTime.Now,
DateTime.Now.AddMinutes(5), false, role);
//加密票据
string Encrypt = FormsAuthentication.Encrypt(tickect);
//创建Cookies
HttpCookie mycookies = new HttpCookie(FormsAuthentication.FormsCookieName,Encrypt);
//将cookies 写入客户端
Response.Cookies.Add(mycookies);
//跳转到初始请求页 或默认页
Response.Redirect(FormsAuthentication.GetRedirectUrl("XXOO",false));
相关文章推荐
- aps.net 基于Forms 带有角色的身份验证
- ASP.Net 身份验证方法 基于角色的Forms认证步骤 [转]
- [.NET 基于角色安全性验证] 之二:ASP.NET Forms 身份验证流程分析
- [.NET 基于角色安全性验证] 之三:ASP.NET Forms 身份验证
- [.NET 基于角色安全性验证] 之三:ASP.NET Forms 身份验证
- asp.net中使用基于角色的身份Forms验证,大致分为四个步骤
- [.NET 基于角色安全性验证] 之三:ASP.NET Forms 身份验证
- asp.net Forms身份验证和基于角色的权限访问
- asp.net中使用基于角色的身份Forms验证 (1)
- [.NET 基于角色安全性验证] 之二:ASP.NET Forms 身份验证流程分析
- asp.net中使用基于角色的身份Forms验证 (2)
- [.NET 基于角色安全性验证] 之三:ASP.NET Forms 身份验证
- asp.net中使用基于角色的身份Forms验证 (1)
- [转][.NET 基于角色安全性验证] 之二:ASP.NET Forms 身份验证流程分析
- asp.net中使用基于角色的身份Forms验证 (3)
- [.NET 基于角色安全性验证] 之二:ASP.NET Forms 身份验证流程分析
- Asp.Net Forms身份验证和基于角色的权限访问
- [.NET 基于角色安全性验证] 之三:ASP.NET Forms 身份验证
- asp.net中使用基于角色的身份Forms验证 (2)
- asp.net登录 用Forms身份验证和基于角色的分目录访问