| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1576 人关注过本帖
标题:[求助]如何实现没有登陆就没有访问权限
只看楼主 加入收藏
sldtk1
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:624
专家分:258
注 册:2006-5-4
结帖率:100%
收藏
 问题点数:0 回复次数:4 
[求助]如何实现没有登陆就没有访问权限
一个BBS,如果是没有登陆的访客只能浏览帖子而不能发帖和回复,请问如何实现这个功能?
搜索更多相关主题的帖子: 权限 登陆 访问 访客 
2007-05-01 22:19
beniao
Rank: 2
等 级:新手上路
威 望:4
帖 子:367
专家分:2
注 册:2004-12-17
收藏
得分:0 
在页面运行的时候就判断看用户是否登陆.如果登陆就显示回复页面,没登陆就不显示恢复的页面
if(Session["username"]==null)
{
.......
}
else
{
........
}

博客:http://
2007-05-14 21:31
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
收藏
得分:0 
同上,我認為可以在你進頁面時,首先判斷用戶是否登錄,如果沒有,建議放一個隱藏框或在JS裡面定義一個全局變量,可以設一個值,即登錄可設為1,不登錄可設為0,看個人喜好。然後在要回復時,你在JS裡面判斷值是哪一個,如果為0,則直接彈出對話框,提示他登錄後才可回復貼子。

[此贴子已经被作者于2007-5-14 22:05:18编辑过]



日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2007-05-14 22:04
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
收藏
得分:0 
建议你去了解一下.NET的验证授权机制。
上述帖子均没有说明实际问题。

这还得从验证授权机制说起。可以把网站的访问者分为通过验证操作(也就是输入用户名密码登陆),和对某种资源的请求,请求的时候就发生“授权”操作,这时系统根据用户验证的结果,决定是否允许用户访问。

你上面说描述的匿名,实际也算访问者中的一大类,也就是没有经过验证的,都可以当做匿名用户来看待。

如果你看网站的web.config配置文件,会发现authentication配置节和authorization配置节。前者配置告诉系统你将采取什么样的验证方式,有NONE,Windows,Forms和Passport四种,我们暂且不讨论它。现在着重看authorization配置节,典型的写法如下:
<authorization>
<deny users="?"/>
</authorization>

这里既是告诉系统,这个配置文件所在的目录和它的所有子目录拒绝匿名用户的访问。“?”表示所有匿名用户。除此之外还有*号表示所有用户。关键词有deny和allow。

说道这里,你应该知道一种办法:那就是把执行编辑、插入等操作的aspx页面文件放在一个目录中,对这个目录放置一个带有如上内容的web.config文件。这样如果要访问这个目录中的页面,没有登陆验证的情况下会自己跳转到login.aspx页面(为什么会跳转到这个页面,那是machine.config配置中规定的。你可以在网站根目录的web.config中的authentication配置节中更改这一设置。
这样你的页面不用写一句代码就可以实现拒绝匿名用户访问的效果。

如果你嫌这个不够灵活的话,Page对象中自带一个User对象,User对象的Identity属性的IsAuthenticated属性可以用来检测用户是否通过登陆。Request对象本身的IsAuthenticated也可以拿来检测。这些属性就可以在编程时候使用,更精细化地决定不同用户有什么不同的操作。

如果你还想了解更多关于验证授权的知识,可以看看这片文章:http://bbs.bc-cn.net/viewthread.php?tid=67635&star=at#

.NET自身提供的这种验证授权机制,实际底层原理还是借助Cookies,只不过它把他们进行了一些封装,专门定制了一些功能,自己不用繁复地写头疼地代码来验证用户,像以前那样容易出错,最恼火的是很容易泄露权限。

铲铲是也
2007-05-15 02:54
tel1982
Rank: 3Rank: 3
来 自:水星
等 级:新手上路
威 望:8
帖 子:852
专家分:0
注 册:2006-10-21
收藏
得分:0 
同意铲铲的建议!

Face up to life with smiles no matter what happens
2007-05-15 07:22
快速回复:[求助]如何实现没有登陆就没有访问权限
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025460 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved