TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
Jon Bellamy
NA
47
0
MVC3 and LinqToSQL User Logon
May 3 2011 9:38 AM
Good day to you all,
Firstly, allow me to apologise in advance for my simple understanding of what I am about to ask. I am fairly competent in C#, LinqToSQL, WPF, but am a complete "newbie" at web-development and despite looking at numerous forums and performing countless google searches, I am still at a loss.
I have a requirement to create a user login screen for an MVC3 Rzor Application. My requirement is as simple as this.
Users are stored in a SQL 2008 database, in a table called users that has the following columns / attributes:
UserID (int, Primary Key)
CompanyID (int)
FirstName (nvarchar 50)
LastName (nvarchar 50)
UserName (nvarchar 100) << Will hold e-mail addresses as the user name
Password (nvarchar 50)
ActiveUser (bit)
CanEdit (bit)
LimitedView (bit)
LimitedViewLimits (nvarchar MAX)
CanChangeStatus (bit)
IsAdmin (bit)
The MVC application should show the login page initially, authenticate the user, and if successful display the home page. If authentication fails, just show the login page.
Users should be authenticated by the UserName and Password columns.
User should be "stored" until browser session closed.
All other application methods are available once logged in only.
The LinqToSQL class is called AMDataContext (it's a .dbml file)
I am completely and utterly at a loss of how to implement this, everything seems so heavyweight, and yet I don't think it needs to be complex and in my view nothing more than a simple login form that accepts a username and password, authenticates them, and displays the home view if successful. The User object from the database needs to be stored at a level accessible to the home view as the properties (columns in the database) are used to limited access to certain methods and to personalised the app to the user and their permissions.
The class for the authentication part would be something like:
public User AuthenticateUser(string _username, string _password)
{
using(AMDataContext db = new AMDataContext())
{
User theUser = db.Users
.Where(u => u.UserName == _username)
.Where(u => u.Password == _password)
.SingleOrDefault();
if (theUser == null)
return null;
else
return theUser;
}
}
If null, advise user and diaply login view, if a user is returned, store where the User object can be accessed at any time by other views (namely the home view) and display the home view.
Any help / advice would be greatly appreciated.
Many thanks,
Jon
Reply
Answers (
7
)
gridview data display to fileupload control in the form
print div