加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何实现基于信誉的用户权限,如SO?

发布时间:2020-12-16 07:16:06 所属栏目:asp.Net 来源:网络整理
导读:您可能认为这个问题应该在Meta SO上,但它不应该,因为它基本上是关于ASP.Net MVC,但我想要实现的技术已经在SO中实现. 我希望用户获得更多声誉,就像我们在StackOverflow中所做的那样,我的问题是如何设计用户身份验证系统?我们可以依赖内置的Forms身份验证吗?
您可能认为这个问题应该在Meta SO上,但它不应该,因为它基本上是关于ASP.Net MVC,但我想要实现的技术已经在SO中实现.

我希望用户获得更多声誉,就像我们在StackOverflow中所做的那样,我的问题是如何设计用户身份验证系统?我们可以依赖内置的Forms身份验证吗?以及如何管理为用户显示的链接(取决于信誉)和不显示的内容?

我想我们不能在这里使用Roles,所以我们最终不会有1000个角色,对吧?但我们可能只使用2个角色(管理员,用户).

[编辑]:
我认为最好创建我自己的Users表而不是依赖于Forms身份验证,因此我可以将声誉字段(和其他字段)添加到users表并跟踪它,就像你说的那样. BTW @MartinHN,我知道你是否谈过,但我的问题是有更聪明的方法来处理这些问题吗?

解决方法

您可以创建一个简单的规则系统.每个用户都有与之关联的信誉评分.然后,使用 action filter,您可以控制对系统中功能的访问:

public class SomeController : IController
{
    ...
    [ReputationNeeded(Reputations.CanVoteDown)] // your custom action filter
    [HttpPost]
    public ActionResult VoteDown(...)
    { /* */ }
}

祝好运!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读