.Net Web 应用程序中的 IsUserInRole() 与 Session[]
IsUserInRole() vs Session[] in .Net Web Application
我正在开发一个将支持我们组织中多个部门的应用程序,并且想要定义用户所在的 AD 组可以访问哪些数据。
我的问题是,在每个决策点使用 IsUserInRole()
调用或在用户登录时加载多个 Session[]
变量是否更具成本效益(带宽、时间片等)哪些是布尔值并在我的代码中使用它们?
想法?
我会避免使用 Sessions。它们使应用程序的扩展变得更加困难,因为您需要一个集中式存储(数据库或 Redis),同时每个请求都会受到影响。它会减慢流程,因为您必须等待请求完成才能继续处理实际的业务逻辑。
答案是使用 JWT 令牌。它们适用于少量数据(比如有限数量的角色,而不是数百个)。 JWT 令牌可以安全地放入 cookie 中,以便每个浏览器请求都将其传送到服务器。
您可以在此处获得有关 JWT 令牌的更多信息:https://jwt.io/introduction/. This other Whosebug question has a lot of information about JWT tokens: Using JWT to implement Authentication on Asp.net web API。
希望它能解决您的问题。祝你好运。
我正在开发一个将支持我们组织中多个部门的应用程序,并且想要定义用户所在的 AD 组可以访问哪些数据。
我的问题是,在每个决策点使用 IsUserInRole()
调用或在用户登录时加载多个 Session[]
变量是否更具成本效益(带宽、时间片等)哪些是布尔值并在我的代码中使用它们?
想法?
我会避免使用 Sessions。它们使应用程序的扩展变得更加困难,因为您需要一个集中式存储(数据库或 Redis),同时每个请求都会受到影响。它会减慢流程,因为您必须等待请求完成才能继续处理实际的业务逻辑。
答案是使用 JWT 令牌。它们适用于少量数据(比如有限数量的角色,而不是数百个)。 JWT 令牌可以安全地放入 cookie 中,以便每个浏览器请求都将其传送到服务器。
您可以在此处获得有关 JWT 令牌的更多信息:https://jwt.io/introduction/. This other Whosebug question has a lot of information about JWT tokens: Using JWT to implement Authentication on Asp.net web API。
希望它能解决您的问题。祝你好运。