在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一开始看到有人写FormsAuthentication,FORM验证。我就不太明白。因为我把验证和授权搞混了。 他们在做的时候System.Security.Principal.IIdentity 用来授权做当前用户的标识对象。 我把他们混为一起了。很难去区分。 现在明白点了。 FORM验证就是WEB.config 设置 <authentication mode="Forms"> <forms loginUrl="Login.aspx" name=".ASPXAUTH"></forms> </authentication> 然后 再 放入 FormsAuthentication.SetAuthCookie(username, false);//创建用户标识,不跨浏览器操作
用的时候从取出来Username就可以了。 Context.User.Identity.Name.ToString(); 当使用其中的一种来验证当前用户并通过时,必然要在服务器及客户端之间保存一种“验证票据”来保存验证信息。.NET提供类似于IIdentity的接口来完成该功能。请注意,context.user是IPrincipal(用户对象)类型接口,而identity是IIdentity(标志对象)类型的接口。 有四种类FormsIdentity GenericIdentity PassportIdentity WindowsIdentity实现了IIdentity接口。这几种类对应于.NET的几种验证模式。以上也差不多是废话,只是说了一下。 不过,请楼主看一下以上说的, 再对MSDN里查找一下ASP.NET的Forms验证的文章。看一下在forms验证时对FormsIdentity类的使用,有些信息保存到FormsIdentity类的实例里,在使用的时候就可以context.user.identity.name提取出来。 你可以用自己的类放到user.Identity中。Context.User.Identity.Name的意思是当前用户的名字。可以放你任何想要的东西。不过放的时候要注意,可以用一下代码: —————————————————————————— System.Security.Principal 命名空间
用户对象表示用户的安全上下文,代码当前即以该用户的名义运行,包括用户的标识(IIdentity)和它们所属的任何角色。 所有用户对象都需要实现 IPrincipal 接口。
创建 GenericPrincipal 对象
|
请发表评论