asp.net - 进入主站前先注册

标签 asp.net asp.net-mvc asp.net-mvc-3

当有人访问我的网站时,如果没有任何管理员注册,他们应该被重定向到该管理员注册页面。 现在,只有在没有任何管理员注册的情况下才会发生这种情况。因此,只有当数据库是新鲜且空且没有数据时,才会发生这种情况。

我知道我可以在所有 Controller 上使用验证属性进行检查。但我发现这有点黑客行为,而且......无论如何,当有 1 个注册时,检查应该被完全删除。 那么还有其他方法可以实现这一点吗?

最佳答案

如果您有一个所有 Controller 都继承自的基本 Controller ,您可以将您提到的“validationattribute”放在基本 Controller 上,以触发对每个请求的验证(如果这是您想要的)。

编辑

您可以在 web.config 中存储一个名为 AdminIsRegistered 的全局变量,该变量在应用程序首次发布时设置为 false。然后,当第一个管理员注册 like this 时,以编程方式更改该值并将其设置为true。然后,您在基本 Controller 上设置的自定义属性可以简单地检查每个请求的该值,只要将其设置为 false,该属性就会将用户重定向到注册操作,否则它不会执行任何操作。

关于asp.net - 进入主站前先注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9341364/

相关文章:

.net - ASP.NET MVC 应用程序中的 PreserveLoginUrl appSetting 键/值是什么?

c# - 导出到 Excel 不起作用

asp.net-mvc-3 - 对于同一型号,我可以从 "shared"编辑器模板中调用 "areas"编辑器模板吗?

asp.net-mvc - 使用 HtmlHelper 类时,MVC 单选按钮列表未分组

asp.net-mvc-3 - 系统参数异常 : Duplicate type name within an assembly

c# - ASP.NET WebForms 中的 SignalR

jquery - 防止输入控件在单击时为空

c# - 为什么这个额外的 "?_=1579068576376"被添加到我的 API 请求的 URL '/api/customers' 中

asp.net - 如何通过iPad访问本地IIS服务器上的asp.net MVC网站(进行测试)?

c# - 处理 session 变量超时