Безопасность. Как ограничить вход пользователям по IP, порту или домену

Задача - ограничить доступ некоторой группе пользователей вход на сайт по домену или IP. 

Для этого используем процедуру falcon_afterLogin в ней в @parameters есть параметры domain, userIP, userPort. Процедура выполняется после ввода правильных логина и пароля на странице входа (но до авторизации). 

На основе них решаем доступ  есть ли доступ у пользователя и возвращаем правильный доступ (Result 0 или 1).

ALTER PROCEDURE [dbo].[falcon_afterLogin]
	@parameters ExtendedDictionaryParameter READONLY,  -- userGuid, langID, domain, userIP, userPort
	@username nvarchar(32)
AS
BEGIN
	declare @port int
	select @port = try_cast(value as int) from @parameters where [key]='userPort'
	-- здесь также можно проверить на принадлежность к определенной роли
	-- например, пусть админов только с определенных IP или портов

	if(@port=12344) begin
		select 1 Result, '' Msg, '/' redirectUrl
	end else begin
		select 0 Result, 'No access' Msg, '' redirectUrl
	end

  -- SELECT 2 Outer commands
  select '' type
END

Аналогичным образом можно сделать ограничение доступа к некоторым критичным таблицам или формам (у них также есть параметр @parameters со сходными элементами). 

Falcon Space - функциальная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space

SQL-инструмент для создания личных кабинетов на сайте

Суть подхода и история создания Falcon Space
Веб-платформа для создания личных кабинетов

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Веб-приложения на MS SQL. Партнерская программа для разработчиков и веб-студий

Вы можете разрабатывать самостоятельно или сотрудничать с нами в плане веб-разработки на платформе Falcon Space, используя только SQL и HTML.
Смотреть примеры с кодом SQL
Документация по платформе
Работа на MS SQL Server

Google поиск по нашей документации