获取 owin cookie 名称

Get owin cookie name

在 MVC 5 中,我在 Startup.Auth.cs 中配置了 OWIN 身份验证,并设置了我的 cookie 名称:

public partial class Startup
{
    ...
    public void ConfigureAuth(IAppBuilder app)
    {
        ...
        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            ...
            CookieName = "MYCOOKIE",
    ...

现在我想在我的应用程序的其他地方(在另一个 .cs 文件中)检索这个 cookie 名称。我怎样才能访问这个配置?

P.S. 我可以定义一个 static 字符串并使用它,但我不想这样做。

创建一个 class 设置一个 const 值。

您可以访问 CookieProvider.OWINCOOKI 值。

public class CookieProvider
{
    public const string OWINCOOKIE = "MYCOOKIE";
}


public partial class Startup
{
    ...
    public void ConfigureAuth(IAppBuilder app)
    {
        ...
        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            ...
            CookieName = CookieProvider.OWINCOOKIE,
    ...

编辑

如果您不想使用 conststatic 来获取 cookie 名称。

您可以使用 webcofing 设置。

在 webconfig 的 appSettings

上添加 <add key="OwinCookie" value="OWINCOOKIE"/>
<appSettings>
  <add key="OwinCookie" value="OWINCOOKIE"/>
</appSettings>

使用 System.Configuration.ConfigurationManager.AppSettings 获取 cookieName

public partial class Startup
{
    ...
    public void ConfigureAuth(IAppBuilder app)
    {
        ...
        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            ...
            CookieName = System.Configuration.ConfigurationManager.AppSettings["OwinCookie"],
    ...