Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получить пароль пользователя после авторизации / 6 сообщений из 6, страница 1 из 1
11.12.2013, 12:10
    #38496743
Nicky_N
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить пароль пользователя после авторизации
Всем доброго времени суток. Использую свой Memebership:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
public class CustomMemebershipProvider : MembershipProvider
    {
        public override bool ValidateUser(string username, string password)
        {
            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
            {
                return false;
            }

            bool result = false;

            OracleConnection orc = new OracleConnection();
            orc.ConnectionString = string.Format("User Id={0};Password={1};Data Source=cnt;Pooling=true", username, password);

            try
            {
                orc.Open();
                result = true;
            }
            catch (Exception ex)
            {
                result = false;
            }
            finally
            {
                orc.Close();
                orc.Dispose();
            }

            return result;
        }
}


После авторизации пользователь должен получать данные из СУБД, каждый раз используя свои учетные данные в строке подключения. Имя можно взять отсюда - HttpContext.Current.User.Identity.Name, а откуда взять пароль? хранить в статическом поле как-то не хочется.
...
Рейтинг: 0 / 0
11.12.2013, 12:29
    #38496786
Zoria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить пароль пользователя после авторизации
Nicky_N,
вот эту тему вы читали?
http://www.sql.ru/forum/1051197-1/iis-7-asp-net
...
Рейтинг: 0 / 0
11.12.2013, 13:09
    #38496882
Nicky_N
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить пароль пользователя после авторизации
Zoria,

Спасибо за ссылку, немного прояснилось.
Я понимаю, что можно прописать общую учетку в конфиге и ее использовать для запросов от любого пользователя, а доступ к страницам приложения определять с помощью ролей.
Но мне бы хотелось, чтобы учетные данные пользователя, от которого происходит запросы в бд (указывается в конекшен стринге), были одними и теми же с учеткой при авторизации на сайте(то что лежит тут HttpContext.Current.User.Identity.Name).
Одной из причин является большое количество операций логирования в самой СУБД - если для всех пользователей будет использоваться одна учетка, непонятно будет кто чего натворил, а это критично для данного приложения.
...
Рейтинг: 0 / 0
11.12.2013, 13:17
    #38496902
Zoria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить пароль пользователя после авторизации
Nicky_N,
читайте еще раз. в теме рассматривались вроде бы оба варианта.
...
Рейтинг: 0 / 0
11.12.2013, 13:47
    #38496958
Nicky_N
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить пароль пользователя после авторизации
Может есть вариант взять из cookie или кэша?
Инфа ведь записывается в куки:
Код: c#
1.
2.
3.
4.
if (Membership.ValidateUser(model.UserName, model.Password))
{
   FormsAuthentication.RedirectFromLoginPage(model.UserName, true);
}
...
Рейтинг: 0 / 0
11.12.2013, 17:58
    #38497507
Nicky_N
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить пароль пользователя после авторизации
Zoriaчитайте еще раз. в теме рассматривались вроде бы оба варианта.
мне не подойдет, СУБД - Oracle + СУБД и IIS в разных доменах.

может так:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket
(
    1, 
    user.Username, 
    DateTime.Now, 
    DateTime.Now.AddMinutes(30), 
    false, 
    user.Password, 
    FormsAuthentication.FormsCookiePath
);
Response.Cookies.Add
(
    new HttpCookie
    (
        FormsAuthentication.FormsCookieName, 
        FormsAuthentication.Encrypt(ticket)
    )
);
---------------------------------------------------------------------------------------------
HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value);
var password = ticket.UserData;
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получить пароль пользователя после авторизации / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]