asp.net - Automatically load model on each request -
note: not sure if following right way of doing want.
background: have forum (php) , creating asp.net mvc web application sort of independent forum, except login data. user registers , logins through forum app needs check login status reading session hash cookie , comparing forum's database of logged in users.
objective: include usermodel class on every request see if user has permissions he's requesting do. views display user related data.
do need manually add every controller's action in application?
public actionresult index() { userrepository userrep = new userrepository(); usermodel user = userrep.getuserbysession(request.cookies["userhash"].value); //do stuff user ... return view(myviewmodel); }
look @ validationattribute. can roll own, , have own custom logic in it:
public class customattribute : validationattribute { protected override validationresult isvalid(object value, validationcontext validationcontext) { userrepository userrep = new userrepository(); usermodel user = userrep.getuserbysession(request.cookies["userhash"].value); if (user == null) { // redirect login? } } } then can decorate methods this:
[customattribute] public actionresult index() or if needing apply every http method in class, can decorate @ class level:
[customattribute] public class myclass
Comments
Post a Comment