角色管理,高手进。。。 没做过c#后台,只弄过php的,估计你生成的session名是固定的,要把session名生成随机的,推出的时候在进行清理就好了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我需要用到这个session,因为要在所有程序上调用这个session,所以将其生成为固定的。有没其他办法呢?我能指定删除某个session名吗? Session是可以很灵活的操作的,必须可以Remove和Clear的,看看你这里是不是有其他的问题 Remove和clear都可以正常执行,没有什么问题,我是觉得本地的cookie将上个用户的登陆信息保存了,才会出现这样一个状况的!我想知道,你们一般会怎么用session来区分登陆用户是属于哪个角色的? 我需要用到这个session,因为要在所有程序上调用这个session,所以将其生成为固定的。有没其他办法呢?我能指定删除某个session名吗?c#操作session我不会啊,你自己搜一下吧!应该可以的。 Remove和clear都可以正常执行,没有什么问题,我是觉得本地的cookie将上个用户的登陆信息保存了,才会出现这样一个状况的!我想知道,你们一般会怎么用session来区分登陆用户是属于哪个角色的?我只用session记录用户登录的id,通过数据库来保存用户信息 Remove和clear都可以正常执行,没有什么问题,我是觉得本地的cookie将上个用户的登陆信息保存了,才会出现这样一个状况的!我想知道,你们一般会怎么用session来区分登陆用户是属于哪个角色的?我只用session记录用户登录的id,通过数据库来保存用户信息搜过了,没找到我要的,挺诡异的。能不能说下你用session记录用户登陆id的代码,我类比下。 想要根据用户所属的不同角色,呈现不同的页面?还是删除session信息? 看你User貌似继承自System.Security.Principal.IPrincipal,但这个IsInRole返回的是bool值至于清除对话HttpContext.Current.Session.Clear();HttpContext.Current.Session.Abandon(); 我很想知道你为什么Session不是存User...而是存IsInRole的结果还有关闭连接,是什么意思???关闭浏览器再打开,直接就是一个全新的session在浏览器内把标签页关闭,再在这个浏览器内新开标签打开网页,session不变 Remove和clear都可以正常执行,没有什么问题,我是觉得本地的cookie将上个用户的登陆信息保存了,才会出现这样一个状况的!我想知道,你们一般会怎么用session来区分登陆用户是属于哪个角色的?确实,一般来说用Session直接存储定义个用户信息的实体,如果涉及到角色信息,那就在设计对应实体,尽量是能够在登录时通过数据库进行查询得到这些基本信息(因为他们不是经常变动),所以这样在页面跳转等等时,仅需要执行权限判断的代码,总之就是,需要这些基本信息的地方,可以直接从Session里面取。至于System.Security.Principal.IPrincipal,就不太清楚了,没研究过这样的,我当初所涉及的角色类,都是在数据库保存角色信息和判断的,没这么使用过User的东西 是的,我是要判断这个user是否属于角色operator。“在浏览器内把标签页关闭,再在这个浏览器内新开标签打开网页,session不变”,我重新执行这个程序,有弄了个session.clear(),这样之后也还不变吗?觉得应该是浏览器自动cookie保存了以便下次登陆的。如果是这样,那我这个网站发布前,应该做一些什么相应的措施呢?如果直接Session是存User,我后面还要一个判断呀,觉得IsInRole刚好能判断,我保存它就行了。事实上,我在网上找的也只是看到这种方法,你有其他方法么? Session["IsUserInRoleOperator"]=NULL 肯定清的掉。。 Remove和clear都可以正常执行,没有什么问题,我是觉得本地的cookie将上个用户的登陆信息保存了,才会出现这样一个状况的!我想知道,你们一般会怎么用session来区分登陆用户是属于哪个角色的?确实,一般来说用Session直接存储定义个用户信息的实体,如果涉及到角色信息,那就在设计对应实体,尽量是能够在登录时通过数据库进行查询得到这些基本信息(因为他们不是经常变动),所以这样在页面跳转等等时,仅需要执行权限判断的代码,总之就是,需要这些基本信息的地方,可以直接从Session里面取。至于System.Security.Principal.IPrincipal,就不太清楚了,没研究过这样的,我当初所涉及的角色类,都是在数据库保存角色信息和判断的,没这么使用过User的东西哦,好的!我再看看,谢谢呀! <?php session_start(); //使用session存储用户信息 if(isset($_POST["username"])) { $ss_user_id=""; //利用User类的IsValid()方法判断所输入的用户名和口令是否正确 require_once("user/UserClass.php"); $user=new User(); //如果正确,转到系统首页 if($user->IsValid($_POST["username"],$_POST["password"])) { echo "<script language='javascript'>"; echo " location='index.html';"; echo "</script>"; } //如果不正确,转到登陆页面 else { echo "<script language='javascript'>"; echo " alert('用户名或密码错误');"; echo "</script>"; } }?>$_SESSION["ss_user_id"]=$db->mUserArray[0]->UserId;//User类只操作了这一次session 你把session[”IsUserInRoleOperator"]赋值一个变量,这个变量要是全局变量 额,为啥呢?我是要将IsInRole的结果存放在此session中,以后要用。现在问题是IsInRole跟我登陆的用户信息不同步,不知为什么。 最终结果要呈现不同的页面,现在的问题是,我用本机的浏览器使用两个不同角色的用户登陆,结果不是预料之内的,会出现多次不一样的结果,比如角色1不能看到的页面有时能看到。我觉得这是session没清除或者是本地保存了cookie的问题,不知怎么解决。 session 是唯一的 有唯一值session_id 存库每次加载前判断思路如此,业务自理 你看下两次登录的赋值过程,是不是,获取用户信息的时间晚于获取session的时间 退出登陆最好多用几种代码Session["Your_User_Session"]=null;Session.Clear();Session.Abandon();我一般是上面三行代码同时存在然后基于角色的权限控制RBAC,对于资源与角色的对应关系应该是走Cache,因为这个变动很小,然后用户登陆后,可以取到相应的用户信息以及拥有的角色集合,然后到实际页面时判断该用户是否有访问该资源的角色,这时候都不走数据库的 估计是这个原因,很奇怪,我用的登陆模块是.net 自带的,登陆进去后,保存的是前一个用户的信息,只好把他移到另一个跳转页面。 是这样。session是唯一的,挺好使的。 试试设定Session位置,不要在Cookie里面存放Session,设成InProcess试试。 利用textbox来创建节点 怎么样用winfrom实现获取别人网站上的动态书本信息和书得详细信息并添加到数据库里 用C#如何实现QQ的窗口抖动! 主从表与数据绑定的问题 第一个解决者,百分送上!改注册表,在一定时间内只能运行指定程序,知道用组策略管理器,可以实现,不过我想用编程的方法。 c#编译器?????????? windows mobile如何实现在click事件获取坐标值 继承窗体后,在设计器无法设置控件属性的问题 怎样对矩形设置透明颜色?谢谢大家了! 判断一串字符前缀0的个数 C#窗体问题 关于Signalr 推送问题求助!!!
搜过了,没找到我要的,挺诡异的。能不能说下你用session记录用户登陆id的代码,我类比下。
HttpContext.Current.Session.Abandon();
还有关闭连接,是什么意思???
关闭浏览器再打开,直接就是一个全新的session
在浏览器内把标签页关闭,再在这个浏览器内新开标签打开网页,session不变
确实,一般来说用Session直接存储定义个用户信息的实体,如果涉及到角色信息,那就在设计对应实体,尽量是能够在登录时通过数据库进行查询得到这些基本信息(因为他们不是经常变动),所以这样在页面跳转等等时,仅需要执行权限判断的代码,总之就是,需要这些基本信息的地方,可以直接从Session里面取。
至于System.Security.Principal.IPrincipal,就不太清楚了,没研究过这样的,我当初所涉及的角色类,都是在数据库保存角色信息和判断的,没这么使用过User的东西
“在浏览器内把标签页关闭,再在这个浏览器内新开标签打开网页,session不变”,我重新执行这个程序,有弄了个session.clear(),这样之后也还不变吗?觉得应该是浏览器自动cookie保存了以便下次登陆的。如果是这样,那我这个网站发布前,应该做一些什么相应的措施呢?如果直接Session是存User,我后面还要一个判断呀,觉得IsInRole刚好能判断,我保存它就行了。事实上,我在网上找的也只是看到这种方法,你有其他方法么?
确实,一般来说用Session直接存储定义个用户信息的实体,如果涉及到角色信息,那就在设计对应实体,尽量是能够在登录时通过数据库进行查询得到这些基本信息(因为他们不是经常变动),所以这样在页面跳转等等时,仅需要执行权限判断的代码,总之就是,需要这些基本信息的地方,可以直接从Session里面取。
至于System.Security.Principal.IPrincipal,就不太清楚了,没研究过这样的,我当初所涉及的角色类,都是在数据库保存角色信息和判断的,没这么使用过User的东西
哦,好的!我再看看,谢谢呀!
session_start(); //使用session存储用户信息
if(isset($_POST["username"]))
{
$ss_user_id="";
//利用User类的IsValid()方法判断所输入的用户名和口令是否正确
require_once("user/UserClass.php");
$user=new User();
//如果正确,转到系统首页
if($user->IsValid($_POST["username"],$_POST["password"]))
{
echo "<script language='javascript'>";
echo " location='index.html';";
echo "</script>";
}
//如果不正确,转到登陆页面
else
{
echo "<script language='javascript'>";
echo " alert('用户名或密码错误');";
echo "</script>";
}
}
?>$_SESSION["ss_user_id"]=$db->mUserArray[0]->UserId;//User类只操作了这一次session
session_id 存库
每次加载前判断
思路如此,业务自理
Session.Clear();
Session.Abandon();我一般是上面三行代码同时存在然后基于角色的权限控制RBAC,对于资源与角色的对应关系应该是走Cache,因为这个变动很小,然后用户登陆后,可以取到相应的用户信息以及拥有的角色集合,然后到实际页面时判断该用户是否有访问该资源的角色,这时候都不走数据库的