gpt4 book ai didi

c# - N2 自定义登录逻辑

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:06 24 4
gpt4 key购买 nike

我们需要自定义 N2 身份验证的逻辑以添加几个选项。

我需要添加一个包含一些选项的 RadioButtonList,并根据登录时对该 RadioButton 的选择设置 session 变量 - 否则用户无法在 N2 的预览 Pane 中看到该站点。我想我可以将 RadioButtonList 添加到 N2/Login.aspx 并创建一个扩展 N2.Edit.Login 的自定义登录类,并覆盖 Login1_Authenticate 方法以在调用 base.Login1_Authenticate 之前执行我的自定义逻辑。它似乎不是设计为可扩展的,我无法覆盖该方法。要进行更改,我必须使用这些更改对 N2 进行自定义编译,我想避免这种情况(应该对修改关闭但对扩展开放),这样我们就不必在每次更新 N2 时都重做更改。

我尝试的另一条路线是创建 N2/CustomLogin.aspx 并将我的所有逻辑添加到该自定义类中,并将 web.config 设置为指向 CustomLogin.aspx 而不是 Login.aspx - 这使我进入了正确的登录页面最初但登录失败将我重定向到 Login.aspx(假设是硬编码的东西),它没有我们的单选按钮选项。

我们在 .Net 4.0(MVC 应用程序)上使用 N2 CMS 2.0.0.0

最佳答案

N2 在幕后使用标准的 Forms Auth、ASP.NET Membership 和 Roles 提供程序。只要登录用户名为 admin 或处于 3 个 N2 标准角色之一(管理员、编辑和作者 - 我认为),您就可以访问管理站点。

因此我建议您在您的应用中创建一个完全独立的登录页面。使用您的 web.config 中的条目在您的自定义登录页面上指向表单例份验证:

<authentication mode="Forms">
<forms loginUrl="~/account/login"
timeout="2880" />
</authentication>

在您的自定义登录表单中,您可以执行标准表单例份验证操作来让用户登录,以及设置您的 session 变量。

我已经这样做了几次,效果很好。如果您无法让它正常工作,我建议您提供一个示例来演示问题,我会看看是否可以提供帮助。

关于c# - N2 自定义登录逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4798570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com