Asp. net Cookie проверки подлинности общих форм - PullRequest
0 голосов
/ 04 мая 2020

У меня есть несколько asp. net веб-приложений, использующих одну и ту же аутентификацию с помощью форм ie, это среда единого входа. Все приложения имеют одинаковое имя Cook ie, домен, путь и машинный ключ. все работают нормально. Проблема заключается только в одном из приложений, в котором проверка подлинности с помощью форм проходит всех, даже когда я меняю имя Cook ie и / или путь, домен, машинный код !! если сделать это с любым другим приложением, пользователи не смогут проходить. на простом английском sh, я специально нарушаю свой код, но он все еще работает !!!!

настройка web.config

<authentication mode="Forms"> <forms name=".AppsFormsAuthx1" loginUrl="page1.aspx" defaultUrl="page2.aspx" timeout="720" protection="All" slidingExpiration="true" cookieless="UseDeviceProfile" requireSSL="false" enableCrossAppRedirects="true" domain=".domain.com" path="/"/> </authentication>

код входа

        `FormsAuthenticationTicket fat = new FormsAuthenticationTicket(1, u_id.ToString(), DateTime.Now, DateTime.Now.AddMinutes(100), true, u_id.ToString(), FormsAuthentication.FormsCookiePath);
        string encrypt_cookie = FormsAuthentication.Encrypt(fat);
        HttpCookie httpcok = new HttpCookie(FormsAuthentication.FormsCookieName, encrypt_cookie);
        httpcok.Expires = fat.Expiration;
        httpcok.Path = FormsAuthentication.FormsCookiePath;
        httpcok.Domain = ".domain.com";
        Response.Cookies.Add(httpcok);
        Response.Redirect("page.aspx");`

Определите код пользователя

        `HttpCookie authCookie = Context.Request.Cookies[FormsAuthentication.FormsCookieName];
        FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value);
        return int.Parse(ticket.UserData.ToString());`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...