2017-02-19 40 views
0

我开发,将支持我们的组织多个部门,并要定义哪些数据是AD组的用户在访问的应用程序。的isUserInRole()VS会议[]在.NET Web应用程序

我问题是,在每个决策点使用IsUserInRole()调用,或者在用户登录时加载几个Session[]变量,它们是布尔型的,并在整个代码中使用这些变量,是否更具成本效益(例如带宽,时间片等)?

想法?

回答

0

我会避免会话。由于您需要集中式存储(数据库或Redis),因此它们会扩大应用程序的难度,而每一个请求都会受到影响。由于必须等待请求完成才能继续实际业务逻辑,因此它会减慢进程速度。

这个答案是使用JWT令牌。对于少量数据(如角色数量有限,而不是数百个),他们工作得很好。 JWT令牌可以安全地放入cookie中,以便每个浏览器请求都将其传送到服务器。

你可能会得到关于JWT更多信息令牌这里:https://jwt.io/introduction/。这个其他StackOverflow问题有很多关于JWT令牌的信息:Using JWT to implement Authentication on Asp.net web API

我希望可以解决您的问题。祝你好运。