我的应用程序可以控制用户权限,因为并非所有用户都可以访问完整的网站.在这一刻,特定用户的所有权限都存储在他的会话中,因为我每次发回都会在数据库中搜索是个问题.
解决方法
"Is there a way to Kill an specific Application Session by the ID,forcing user to Log in again?"
否.您只能访问执行当前请求(即自己)的用户的Session对象,而不是其他用户Session对象.
因此,您需要将用户的id存储在其他地方,例如静态集合中.当用户进行下一个请求时,您可以检查该集合中的id,并更新权限或注销用户.
另一个替代方案是将所有当前登录用户的权限对象保留在静态集合以及其Session变量中.这样,您就可以在不访问该用户的Session对象的情况下更改权限对象.
当然,在Web应用程序中使用静态变量也有通常的预防措施.由于多个线程可以访问它,所以访问必须被同步.另外,正如Alexei Levenkov指出的那样,如果有多台服务器,则必须保持服务器之间的数据同步.
原文地址:https://www.jb51.cc/csharp/95498.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。