ASP .网络表单身份认证
ASP。网程序开发,用户根据角色访问对应页面以及功能。
项目结构如下图:
根目录Web.config代码:
?可扩展标记语言版本='1.0 '编码='utf-8 '?-有关如何配置ASP。网应用程序的详细消息,请访问http://go.microsoft.com/fwlink/?LinkId=169433-配置系统。网编译调试='true' targetFramework='4.0' /身份验证模式=“表单”表单登录。aspx '/Forms/身份验证!-授权允许用户=' */允许/授权-/系统。web/配置管理文件夹中Web.config代码:
?可扩展标记语言版本='1.0 '?配置系统. web授权允许角色=' admin '/deny user=' *///授权/系统。网络/配置教师文件夹中Web.config代码:
?可扩展标记语言版本='1.0 '?配置系统. web授权允许角色='教师'/拒绝用户=' *///授权/system。网络/配置学生文件夹中Web.config代码:
?可扩展标记语言版本='1.0 '?配置系统. web授权允许角色=' student/deny user=' *///authorization/system。web/配置登录。aspx中登录成功后设置饼干,设置饼干代码:
受保护的void SetLoginCookie(字符串用户名,字符串角色){系统.网络。保安。表单验证。setauthcookie(用户名,假);系统网络。保安。FormsAuthenticationTicket=新FormsAuthenticationTicket(1,用户名,日期时间。现在,日期时间。现在AddDays(1),false,roles,'/');字符串hashTicket=FormsAuthentication .加密(票证);httpookie用户cookie=new httpookie(FormsAuthentication .FormsCookieName,HashTicket);HttpContext .当前。回应。setCooKie(UserCooKie);}Global.asax中进行身份验证:
受保护的void Application _ AuthenticateRequest(对象发送方,事件参数e){ HttpApplication app=(HttpApplication)发送方;HttpContext ctx=app .语境;//获取本次超文本传送协议(超文本传输协议的缩写)请求的HttpContext对象if (ctx .用户!=null) { if (ctx .请求IsAuthenticated==true) //验证过的一般用户才能进行角色验证{系统网络。安全性. FormsIdentity fi=(系统网络。安全性.用户。身份;系统网络。保安。formsauthenticationticket=fi .车票;//取得身份验证票字符串用户数据=票证。用户数据;//从用户数据中恢复角色;作用;任务;职责信息字符串[]角色=用户数据。拆分(',');//将角色数据转成字符串数组,得到相关的角色信息ctx .用户=新系统。安全。校长。GenericPrincipal(fi,角色);//这样当前用户就拥有角色信息了} }}以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!
版权声明:ASP .网络表单身份认证是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。