Member 12611488 Ответов: 1

Как создать процедуру входа в систему на основе roleid из нескольких таблиц


как создать процедуру входа в систему на основе roleid из нескольких таблиц

У меня с собой два столика
Таблица-1 tblTeacher
----------------------------------------------------
Id Имя Email Пароль RoleId Статус
----------------------------------------------------
1 ааа ааа 123 1 0
2 bbb bbbb 1234 2 1
3 ccc cccc 1234 1 1

Таблица-2 tblStudent
----------------------------------------------------
Id Имя Email Пароль RoleId Статус
----------------------------------------------------
1 xxx xxxx 123 3 1
2 ыыы гггг 1234 3 0


я хочу войти в систему на основе идентификатора роли и если статус истинен(1)

Что я уже пробовал:

create procedure spLoginn(
@Email varchar(50),
@Pasword varchar(20),
@RId int out
)
as begin
  --declare @Rid int
  if @Email is not null
     if @Pasword is not null
	   set @Rid=(Select RoleId from tblTeacher where Email=@Email and Pasword=@Pasword)
	 if @Rid=0
	   set @Rid=(Select RoleId from tblStudent where Email=@Email and Pasword=@Pasword)
	   end

Richard Deeming

Я понимаю, что это, вероятно, просто школьный проект, но в любом реальном приложении вы должны НИКОГДА храните пароли в виде обычного текста.

Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хеширование паролей - все правильно[^]

1 Ответов

Рейтинг:
7

Karthik_Mahalingam

пробовать

alter procedure spLoginn(
@Email varchar(50),
@Pasword varchar(20),
@RId int out
)
as BEGIN

  
  if ( @Email is not null and  @Pasword is not null ) 
		begin
			   set @Rid=(Select RoleId from tblTeacher where Email=@Email and Pasword=@Pasword)
			 if @Rid is null
			   set @Rid=(Select RoleId from tblStudent where Email=@Email and Pasword=@Pasword)
	     end
  END


если @RId является null тогда комбинация Email/Password не присутствует ни в одной таблице.


Member 12611488

Большое тебе спасибо Картик
это работает, как очищаться

Karthik_Mahalingam

добро пожаловать :)