I am evaluating Dynamic Login and I have a requirement from our IT Director to only allow certain roles (e.g. admin, host, customer service) to login from our internal IP address while other roles (e.g. customers) can only login from an external IP address.
After looking more closely at Dynamic Login it isn't clear this is "out of the box". I came up with some ideas ...
- HTTP Module does the police work on every request. In this approach, it seems the DNN UserInfo object could be accessed and if it exists, roles could be checked against IP rules. In the event a rule is violated, the user could simply be logged out.
- Sql Validation does the work only at login. In this approach, a stored proc would be called with @UserID and @IPAddress and the DNN roles would have to be checked manually against the IP rules.
Is there an easier way to prevent host/admin accounts from accessing a DNN site from an external IP? I wanted to avoid custom development as much as possible on this site and I can't imagine I am the first body to wander into this minefield ...
It seems like the IP restriction feature could be slightly enhanced to be positive and negative (allow/block) with some role matching thrown in on each rule for great effect.
Regards,
Stuart