问题描述
就像百度,或者CSDN,右上角,如果登录了的就显示账号名,等级,消息。如果没有登录的就显示登录。并且在很多地方也进不了……==============================================身份验证感觉找不到个标准的来参考。我只看过WEBform的教程,而且很简单,就是每次页面LOAD事件都比对一次COOKIES或SESSION。。。。。但我看到微软MVC2.0写的那个DEMO小MVC网站,它的验证是这种写法<%@ControlLanguage="C#"Inherits="System.Web.Mvc.ViewUserControl"%><%if(Request.IsAuthenticated){%>欢迎您,<b><%:Page.User.Identity.Name%></b>![<%:Html.ActionLink("注销","LogOff","Account")%>]<%}else{%>[<%:Html.ActionLink("登录","LogOn","Account")%>]<%}%>我就搞不懂了……特别是Request.IsAuthenticated完全看不明白。。。。===========================所以,我一直找不到一个标准的写法……求大神指点迷津
解决方案
解决方案二:
这个是写了相关方法将身份部分赋给微软提供的身份验证模块
解决方案三:
引用1楼starfd的回复:
这个是写了相关方法将身份部分赋给微软提供的身份验证模块
就是没看懂在哪部分代码决定的……我的是MVC2.0
解决方案四:
这个是身份验证相关类System.Security.Principal.IIdentitySystem.Security.Principal.IPrincipal
MVC的Controller里面有这么一个属性////摘要://取得目前HTTP要求的使用者安全性資訊。////返回结果://目前HTTP要求的使用者安全性資訊。publicIPrincipalUser{get;}
虽然没研究过,但这个应该是跟webform一致的,猜测也是为System.Web.HttpContext.Current.User赋值,然后Controller类里面从System.Web.HttpContext.Current.User获取IPrincipal,然后什么时候赋值的呢,应该是通过注册的身份验证Attribute
解决方案五:
引用3楼starfd的回复:
这个是身份验证相关类System.Security.Principal.IIdentitySystem.Security.Principal.IPrincipalMVC的Controller里面有这么一个属性////摘要://取得目前HTTP要求的使用者安全性資訊。////返回结果://目前HTTP要求的使用者安全性資訊。publicIPrincipalUser{get;}
虽然没研究过,但这个应该是跟webform一致的,猜测也是为System.Web.HttpContext.Current.User赋值,然后Controller类里面从System.Web.HttpContext.Current.User获取IPrincipal,然后什么时候赋值的呢,应该是通过注册的身份验证Attribute
对了,它的LOGIN的CONTROLLER的方法里面能接受MODEL的参数,这个我也不太明白到底是为什么了?感觉我现在所学的跟微软缩写的差距好大呀……我都不知所措了……外面的企业里面是怎么做的呢?