社区
C#
帖子详情
页面首次加载为什么User.Identity.IsAuthenticated的值就为true?
qq864480631
2012-02-15 06:50:00
登录页面为启动项,在登录页面,我还没有验证,验证HttpContext.Current.User.Identity.IsAuthenticated的值为什么会是true呢?
...全文
165
3
打赏
收藏
页面首次加载为什么User.Identity.IsAuthenticated的值就为true?
登录页面为启动项,在登录页面,我还没有验证,验证HttpContext.Current.User.Identity.IsAuthenticated的值为什么会是true呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qq864480631
2012-02-16
打赏
举报
回复
Page.User.Identity.IsAuthenticated是用在form验证的应用程序中的,你可能用到了这个。
我不明白你的意思?HttpContext.Current.User.Identity.IsAuthenticated和Page.User.Identity.IsAuthenticated不是一个东西吗?
zhensoft163
2012-02-15
打赏
举报
回复
Page.User.Identity.IsAuthenticated是用在form验证的应用程序中的,你可能用到了这个。
孟子E章
2012-02-15
打赏
举报
回复
你是不是记住密码了?
CK
Ed
itor3.6.2+CKFinder2.1 最新破解版
http://www.cnblogs.com/zengxiangzhan/archive/2010/03/10/1682702.html CK
Ed
itor3.6.2+CKFinder2.1 最新破解版: protect
ed
override void OnLoad(EventArgs e) { CKFinder.FileBrowser _FileBrowser = new CKFinder.FileBrowser(); _FileBrowser.BasePath = "/ckfinder/"; _FileBrowser.SetupCK
Ed
itor(
ed
itor1); } ckfinder/config.ascx public override bool CheckAuthen
ti
cat
ion() { //return false; 改这里 // return HttpContext.Current.
User
.
Iden
ti
ty
.
IsAu
then
ti
cat
ed
; 更安全 return
true
; } SetConfig(): BaseUrl = "~/ckfinder/
user
files/";
ASP.NET Forms验证 实现子域名(SubDomain)共享登陆下的缺陷
ASP.NET Forms验证 实现子域名(SubDomain)共享登陆 http://www.cnblogs.com/M
ed
i-Bruce/archive/2010/01/17/1650027.html 一、什么是单点登录 单点登录就是在多个web应用程序中,实现统一登录方式,一但登录了某web应用程序,其它相关联的web应用程 序都无需再次登录,一个地方退出,所有相关联的web应用程序都退出. 二、通过利用ASP.NET Forms验证模式 可以实现子域名(SubDomain)共享登陆下的缺陷 要利用Asp.NET Form验证模式实现 同一主域下不同子域名共享登陆状态需要进行以下配置 配置Web.config 1.把Asp.net的认证模式改为Forms认证模式,domain 要等于你的应用程序对应的域名,例如: .test.cn
ti
cat
ion mode="Forms"> <forms name=".ASPNETFORM" domain=".test.cn" loginUrl="/login.aspx" defaultUrl="/default.aspx" protec
ti
on="All"
ti
meout="30" path="/" requireSSL="false" slidingExpira
ti
on="
true
" enableCrossAppR
ed
irects="false" cookieless="Us
eD
eviceProfile" />
ti
cat
ion> 2.配置针对存储在cookie中的票据信息进行加密解密的方式
tionKey="CF10047DB84FBA7F418BF30F9697B1D6
ED
DA3A90837F3C57B336B4016E47986135B31B2432F7CB20A6858DFFB E4E5ECD1451E17C91830993445D0EA5708BABBD" decryp
ti
onKey="5D37DDB652B86956" valida
ti
on="SHA1"/> 备注:生成machineKey网址 http://www.aspnetresources.com/tools/keycreator.aspx 登陆创建验证票据 1.应用程序登陆
页面
(Login.aspx)输入用户名、密码并验证通过后,创建一张加密过的验证票据,并存储在cookie中 //创建验证票 FormsAuthen
ti
cat
ion
Ti
cket
ti
cket = new FormsAuthen
ti
cat
ion
Ti
cket(1, name, Date
Ti
me.Now, Date
Ti
me.Now.AddDays(1d), false, HttpContext.Current.Request.
User
HostAddress ); string auth
Ti
cket = FormsAuthen
ti
cat
ion.Encrypt(
ti
cket); HttpCookie cookie = new HttpCookie(FormsAuthen
ti
cat
ion.FormsCookieName, auth
Ti
cket); cookie.Domain = Configura
ti
onManager.AppSet
ti
ngs["SSODomain"]; HttpContext.Current.Response.Cookies.Add(cookie); 2.登陆完毕后进入有权限的
页面
,并可得到验证通过后的ID
User
.
Iden
ti
ty
.Name; if (!
User
.
Iden
ti
ty
.
IsAu
then
ti
cat
ed
) { //未登录 Response.R
ed
irect("/login.aspx"); } string name =
User
.
Iden
ti
ty
.Name; 3.登出
页面
,清空用户信息,并销毁票据 HttpContext.Current.Session.Clear(); FormsAuthen
ti
cat
ion.SignOut(); 三、Forms验证 实现子域名(SubDomain)共享登陆下的缺陷 根据以上讲解,均可实现同一主域名下的多个子域名共享登陆状态,但是主域名有所限制,当主域名为1个字母,而后缀为2个字母的域名,不能通过认证,例如:a.cn域名,a.jp域名 均不能实现子域名共享登陆,而其他域名均能实现,例如:a.test.com, a.sina.cn 等,大家亦可通过修改hosts文件试验一下,如有高手知道怎么解决这个问题的,请指教,谢谢!!并附上 Demo程序 ,请大家指教! PS:因本人公司的域名为p.cn,想通过Form认证的模式实现子域名共享登陆状态,但是死活用不上!~~!!汗,不知道这个算不算微软的Bug。
ASP.NET Forms身份认证详解
ASP.NET身份认证基础 在开始今天的内容之前,我想有二个最基础的问题首先要明确: 1. 如何判断当前请求是一个已登录用户发起的? 2. 如何获取当前登录用户的登录名? 在标准的ASP.NET身份认证方式中,上面二个问题的答案是: 1. 如果Request.
IsAu
then
ti
cat
ed
为
true
,则表示是一个已登录用户。 2. 如果是一个已登录用户,访问HttpContext.
User
.
Iden
ti
ty
.Name可获取登录名(都是实例属性)。 接下来,本文将会围绕上面二个问题展开,请继续阅读。 ASP.NET身份认证过程 在ASP.NET中,整个身份认证的过程其实可分为二个阶段:认证与授权
如何手动让HttpRequestBase.
IsAu
then
ti
cat
ed
和 HttpContext.
User
.
Iden
ti
ty
.
IsAu
then
ti
cat
ed
为
true
....
今天为了重写权限验证这块需要重写AuthorizeAttribute 这个属性,看了官方文档:HttpContextBase.
User
.
Iden
ti
ty
.
IsAu
then
ti
cat
ed
这个必须是
true
才能跑的通,我又去查如何让这个为
true
,后来进入了误区,准备重写I
Iden
ti
ty
和IPrincipal接口,但是很蛋疼的是需要重写:Appli
cat
ion_PostAuthen
ti
cat
e...
解决
User
.
Iden
ti
ty
.
IsAu
then
ti
cat
ed
==false 或
User
.
Iden
ti
ty
.Name==string.empty的问题
HttpContext.Current.
User
.
Iden
ti
ty
.
IsAu
then
ti
cat
ed
=false; HttpContext.Current.
User
.
Iden
ti
ty
.Name=="" 解释:当用户登录时,服务器为确认客户端通过验证要通过cookie向客户端写验证(Authen
ti
cat
)信息,在登录
页面
刚验证完成后服务器还没有把cookie 回发到Client,所以会没有
值
,当
C#
110,561
社区成员
642,566
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章