我开发,将支持我们的组织多个部门,并要定义哪些数据是AD组的用户在访问的应用程序。的isUserInRole()VS会议[]在.NET Web应用程序
我问题是,在每个决策点使用IsUserInRole()
调用,或者在用户登录时加载几个Session[]
变量,它们是布尔型的,并在整个代码中使用这些变量,是否更具成本效益(例如带宽,时间片等)?
想法?
我开发,将支持我们的组织多个部门,并要定义哪些数据是AD组的用户在访问的应用程序。的isUserInRole()VS会议[]在.NET Web应用程序
我问题是,在每个决策点使用IsUserInRole()
调用,或者在用户登录时加载几个Session[]
变量,它们是布尔型的,并在整个代码中使用这些变量,是否更具成本效益(例如带宽,时间片等)?
想法?
我会避免会话。由于您需要集中式存储(数据库或Redis),因此它们会扩大应用程序的难度,而每一个请求都会受到影响。由于必须等待请求完成才能继续实际业务逻辑,因此它会减慢进程速度。
这个答案是使用JWT令牌。对于少量数据(如角色数量有限,而不是数百个),他们工作得很好。 JWT令牌可以安全地放入cookie中,以便每个浏览器请求都将其传送到服务器。
你可能会得到关于JWT更多信息令牌这里:https://jwt.io/introduction/。这个其他StackOverflow问题有很多关于JWT令牌的信息:Using JWT to implement Authentication on Asp.net web API。
我希望可以解决您的问题。祝你好运。