我有多个内联网站点,它们位于同一个域中,如:
在这些应用程序中,我正在使用OWIN-Mixed身份验证。但我找不到在一个站点中验证用户身份的方法,并在其他站点中使用身份验证。
是否有指南可以关注它?
答案 0 :(得分:0)
OWIN-Mixed具有Windows身份验证入口点,但之后使用常规表单身份验证。
您需要允许testsite / site1和testsite / site2读取相同的身份验证Cookie。为此,您需要确保使用相同的密钥加密cookie。
您可以通过在web.configs
中使用相同的per the Javadoc元素来实现此目的例如,将以下内容添加到Site1&Site2的web.config文件中
<machineKey
validationKey="55304E97702846DD86E818E6A4924952B3B2D28A06E3F6CC05919C044FDEF6FC0F578FA366ECD838F34AE1806219B4AB1241FFF9CF1B935B46E559286F17AD19"
decryptionKey="2D18B05A7B82E04AFA36D94658A64281247D81494C95C87A1F2BCDA6C1539437"
validation="SHA1" decryption="AES"
/>
确保Cookie域名和名称相同。还要确保两个应用程序都在同一个域中。
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
CookieDomain = ".testsite.com",
CookieName = "AuthenticationCookie",
});
希望这有帮助。