Showing posts with label .Net (Dot Net). Show all posts
Showing posts with label .Net (Dot Net). Show all posts

Thursday, January 1, 2015

MVC Versus Budweiser... it's a Challenge...


Happy New Year to all my readers! Today its a challenge weather MVC or Budweiser would finish first.

Can you code drunken?!?!

It's a funny question right? Lets see...

Open a bottle of Beer or Budweiser I prefer Budweiser instead of Beer!

Now lets start coding... We will take step by step approach..

  1. Create Database First
  2. Create Model
  3. Create Controller
  4. Finally Unit Testing

So now we know what approach to follow.

Lets create a Ms SQL database first lets name it ZeroCodeMethod. Now create a table inside that say for UserMaster simply by doing New Table.

Once done with new table creation simply add required columns as shown below.



Once columns are created set the Primary Key and its Identity Field. Please note Primary key should be the Identity field.

That's it our database is ready.

Now lets start the best part coding.

Oh! ya right coding! After few sip you must be having a roller coaster effect!!! Don't worry I'll make the coding part minimum, that's my promise.

Now take a sip of your drink because its going to be a one shot activity for next few minutes.

Now quickly open your Visual Studio mine is 2013 whats yours?

Select New Project > Now Select Web ASP .Net Web Application > give a good name to it I'll say Zero Code Method > Now select MVC and go ahead.

Once done with the preliminary creation of the project simply add a Model to it using Entity Framework as shown in below screenshot


Give a proper name to the model something like MUserMaster identifying the table.

After model has been added then create a new connection it's pretty simple as shown in below screenshot.

Again a Sip of drink! Now create a new connection > Give it a name > Select table UserMaster>  Now do next next.. We all love to do that...

We are done with the Model part.

Now to create Controller simply select Add > New Scaffolded item> Select MVC 5 Controller with views, using Entity Framework.

If you notice there is something that we are getting for free! a typical Indian culture that MVC is giving, by one get one free we created Controller and we got View along with it.

By selecting this template we got a 5 pages made automatically by Visual Studio 2013 itself.

  1. Create.cshtml
  2. Edit.cshtml
  3. Delete.cshtml
  4. Details.cshtml
  5. Index.cshtml

Now a little bit of coding as promised I'll make it minimum not more than one line.

Open Views>Shared>_Layout.cshtml and then add a pointer that pointing to User Master so that it displays in the menu.

Simply copy paste this line into menu section.



As shown in below screenshot.


Now your main page should look like this once compiled in visual studio.


To add a record simply click on the User Master and then click Create.

Now add a record as shown below.



Click on create to create a new record.

Added record should be visible as shown below.


In case if you wish to Edit/Delete/View details click on the respective links.

As part of Indian Culture... Again something free... This site will also work fine in mobile browser because it is using Boot Strap to prove that simply re-size the browser and on the fly the menu will adjust automatically as per the size of the browser.


That's it we are done with the Creation of MVC Zero Coding Method or Database First Method. The advantage of this method is that this has minimum amount code to be written because this is highly reliable on the database part. 

This method is suitable for creation of master or in places where there is less amount of complexity. Remember this may not be suitable for places with high amount of complexity otherwise you will land up scribbling code here there everywhere...

Similarly you will find some other methods like Code First Method etc... Its up-to you which method to follow.

I'm sure that you will be having your drink in the bottle to finish!!!

In case if you were unable run or complete this project successfully just download the code and check what have you missed.

That's all folks!!! Stay tuned for upcoming posts.

Saturday, July 27, 2013

Windows Authentication using ASP .Net in detail


Authentication



Authentication is the process of obtaining identification credentials such as name and password from a user and validating those credentials against some authority. If the credentials are valid, the entity that submitted the credentials is considered an authenticated identity.

In windows authentication users are authenticated against the users available in Windows operating system (local) or against that of users available in Active Directory.

For windows authentication we need to set the authentication mode to windows in web.config.
 


Now to impersonate the identity of IIS worker process to that of provided by Windows operating system
We will have to set the impersonate to True by adding <identity impersonate="true" />

So the final code will look like this





Now the question is how do I determine whether I am truly authenticated?  Basically I can twist my question into other way “How to get my username in Windows Authentication?” Well that’s pretty much simple I guess.

Well for that we will have to use System.Security.Principal namespace.
The code for getting complete username along with domain name as well as for getting only username/ userId is shown below:
  

C# Code:





VB Code:





So far we have seen how to get username/userid now the question is how to determine whether the user is authenticated?

Well for that there is a simple property IsAuthenticated in GetCurrent() of WindowsIdentity class.
A sample code for that is as below:



C# Code:





VB Code:





So far as I am concerned about authenticating a user things are fine Now what if I want to check whether it really works for some other user?

Ok for that case just go to Control Panel\User Accounts\User Accounts and inside that click on Manage User Accounts and click on add for adding a user.

  1. Say for if you want a add a user ‘durandose’.
  2. Then Go to Control Panel\User Accounts\User Accounts (In Windows 7 Professional)
  3. Now click on Add and now simply add a user ‘durandose’ select a domain if you want to add that person to a specific domain.
  4. Once you are done just click on ‘Next’ and select the roll etc.
  5. Now try login through that user and access that site, you should be able to get access to that page if everything has been done as per above instruction.
 Ok! If this was Windows Authentication!?! Then What would be Form Authentication, Passport Authentication and LDAP Authentication?!?! :D

Stay tuned for upcoming post!