![]() |
|
Модераторы: gambit |
![]()
|
|
| MFSham |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: нет Всего: 3 |
Надо создать простую страницу регистрации. Т.е. первоначально пользователь попадает на нее,
вводит имя/пароль, и в зависимости от его статуса ему предоставляется определенная информация. Перечитал много всякой инфы, появились вопросы. Пусть у имеются 3 группы пользователей: 1) администраторы 2) преподаватели 3) студенты Соответственно для каждого из них возможности использования ресурса будут не полностью, но различаться. Насколько я понял, это будет либо Forms-аутентификация, либо Аутентификации на основе ролей(вроде как самое то). При какой форме аутентификации этого лучше всего достичь? А может вообще проще все самому ручками написать... Что-то очень похожее(может даже то):
Если это так, то пароли должны хранится в файле web.config. По моему это слегка неудобно. Например, если я захочу для каждого человека хранить какую-либо дополнительную инфу, то мне придется как-то выкручиваться из этой ситуации. (может я вообще все напутал) Тогда появляется смысл в простой БД. Это так или у меня уже все перепуталось? Буду рад любой полезной инфе или примерчику. --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
MFSham, Ну почему сразу в web.config ты можешь хранить в каком-нибудь файле txt к которому запрещен доступ для всех.
Но вообще конечно используется СУБД с отдельной таблицей в виде списка пользователей и вторая таблица в виде правил для этих пользователей. (во всяком случая я это делаю именно так). А вот тебе пример -->> http://www.google.ru/search?hl=ru&neww...1%D0%BA&lr= любую ссылку берешь и читаешь. -------------------- |
|||
|
||||
| wildc |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 10.1.2006 Где: 58 Репутация: 1 Всего: 1 |
А зачем такая сложна схема входа в систему?? Посмотри как это сделано на основе personal starter kit. Всё работает на авотмате - никого собственного кода.
В веб конфиге прописываешь запрет на доступ для неавторизованных пользователей и определяшь страницу для логина, как то так:
Запрет незалогированным пользователям:
Вот с этого места
чуть подробнее |
||||||
|
|||||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
wildc,
Для этого и нужны роли. То что ты предлагаешь, это просто запрет доступа на страницу. Т.е. если пользовать (не важно с каким уровнем доступа) залогинился, то ему будут доступны все функции. А топикстартеру нужно чтобы одни пользователи имели доступ к одним ресурсам, а другие к другим. Т.е. как на вот это форуме. Мы, как простые смертные, не имеем доступа к админской части. А у тех у кого есть подходящий уровень доступа -- те имеют доступ туда. wildc, Почитай что такое авторицазия по ролям. -------------------- |
|||
|
||||
| MFSham |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: нет Всего: 3 |
Если не секрет, что именно ты хранишь в этой таблице? --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
|||
|
||||
| Mymik |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
А в таблице с юзерами констрейн на эту таблицу с RoleID. При этом пользователь может иметь только одно правило, он не может быть сразу в нескольких К примеру вот так вот. Еще как вариант
Вариант если тебе нужно определять для пользователя несколько ролей и ограничивать их по периоду действия. P.S. все зависит от твоих потребностей... В принципе ты можешь не использовать отдельную таблицу, а сразу засовывать значение в таблицу с юзерами. Ну и так далее. Все определяется твоими возможностями и потребностями. -------------------- |
||||
|
|||||
| MFSham |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.8.2005 Где: Беларусь, Гродно Репутация: нет Всего: 3 |
С аутентификацией на основе роляй все стало более-менее понятно.
Это тоже стало понятно. Это ты каждому пользователя ставишь статус. А каким образом от этого статуса запретить/разрешить пользоваться той или иной информацией? --------------------
Без ветра трава неподвижна. Без программ компьютеры бесполезны. |
|||
|
||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
если доступ в целом к странице тогда в web-config прописываю правила в <authorization></authorization> Если к какой-то части странице, тогда проверяю через HttpContext.Current.User.IsInRole() <-- это если в первом framework а если во втором то через Roles.Roles.IsUserInRole(<username>, <rolename>) но тогда тебе нужно еще прописывать прописывать провайдет для этих ролей... вобщем если тебе не хочется сильно и долго заморачиваться, то используй HttpContext.Current.User.IsInRole(<rolename>)
Это сообщение отредактировал(а) Mymik - 5.4.2007, 16:56 -------------------- |
|||
|
||||
| dazy |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 15.9.2006 Репутация: 4 Всего: 8 |
А еще можно использовать LoginView настраиваешь шаблон для неавторизованных пользователей и для каждой роли отдельно. И в зависимости от роли отображаются те или иные конролы и инфа. Ну это если надо сделать все быстро и просто.
|
|||
|
||||
| jeka_fox |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 13.4.2007 Репутация: нет Всего: нет |
Может не совсем в тему сказано, но были проблемы при использовании стандартных возможносте - одна из них самая главная - при использовании FormsAut.. допустим вкупе с провайдером SQL, храним в базе - логины, пароли и т.д., всем знакома ситуация, когда пользователю при логине предлогают поставить галочку - "аля запомнить меня", так вот, если на одном компе сия операция выполненна, то при смене пароля у пользователя (с другого компа, ну положим человек из интернет кафе домой пришёл ), на первом компе доступ будет по прежнему возможен, понятно конечно что не фиг где попало галки ставить, но всё же - преодолеть сие стандартными средствами не получается... может сталкивался кто.
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |