ASP.NET Identity vs custom implementation, which one to use? [closed] - asp.net

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
I'm a junior full stack and I'm working on a big SPA (for one man) project, as a challenge and demo of what I have learned and I have 3 questions:
Is generally ASP.NET Identity used in companies for medium/big projects or they usually go with custom implementation ?
I wonder if it's worth using ASP.NET Identity for users and roles management or is better to create custom logic for users/roles to I guess learn more and have more control.
If I'll continue developing with identity, will be bad if I use it only for users and roles management, as I saw that it has authentication API too, but I use OAUTH2, setting token was like fast and it's working. So should I try to use Identity as much as I can in authentication too to explain the use of this framework over custom implementation ?
You can answer only to first question because other two are too subjective. Thanks!

As ASP.NET Identity is very customizable, you can take the best from both worlds.
In my company we use custom implementation of IUserStore giving us the flexibility to persist user info the way we wanted. We don't use Entity Framework, for example, which is the default data access used by ASP.NET Identity.
In our case the tables are different and they better match to actual user data for our application (read business objects).
The password hashing/verification process is different also, etc.
You just need to pass an instance of your custom IUserStore to ApplicationUserManager and you are good to go.
My personal opinion is: go with ASP.NET Identity and replace just the parts you need.
EDIT:
You can also implement all of those too
IUserStore<,>
IUserLoginStore<,>
IUserClaimStore<,>
IUserRoleStore<,>
IUserPasswordStore<,>
IUserEmailStore<,>
IUserLockoutStore<,>
IUserTwoFactorStore<,>
IQueryableUserStore<,>
We use it for authentication too. Have in mind that this is tested and will be updated. Is is also well documented and any new devs that are jumping on the project have a greater chance to know what is happening. If you go with a completely custom solution you'll have to maintain that and try to keep it updated with the latest trends/stuff.
Hope this helps to make a better decision.

Related

ASP.Net Membership Your Thoughts? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am building a project using ASP.Net 4 and MVC3 using C#.
The ASP.Net Membership Provider is integrated well into the framework.
Role check and some identity information but I have an issue.
It's limited flexibility.
Should I build a new user management system from the ground up and lose the convenient short codes within controllers ect....?
Are there any alternative?
Worry about hashing passwords, caching stuff, session management just gives me a headache when I think about building something from scratch.
I use the ASP Membership mainly for logging-in (only). Then I use database-specific tables for highly-customized user-features that ASP Membership doesn't easily accomodate (or at all). If any custom-feature "can" be (easily) accomodated by the ASP Membership Db...then I use it...but mostly, I put custom user-specific functionality in the target database (in-question).
Also...
Because the ASP Membership functionality can manage many databases at the same time, I run a separate ASP Membership database instance (apart) from those it manages. Doings so has proven clean & friendly for me.
There wouldn't be a lot of advantage in writing your own membership system 'from the ground up'.
You'd be better implementing a custom Membership Provider and Role Provider - meaning that you can easily use the [Authorize] attribute, and other built in membership roles stuff, and then add any extra stuff you need into your custom providers.
Have a look here and here to see what is involved in a MembershipProvider and RoleProvider - just derive from the abstract MembershipProvider and RoleProvider and provide your own implementations

Which website I should develop for learning asp.net? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I have worked with window based application in .net. But I want to learn asp.net. So I want to develop one website such that developing that website I can get best and better knowledge of asp.net. And developing that website all most important concepts and controls are covered in that website. And in that website all the concept should be covered which are used in the website which are developed in today's time. So what should the website which I can develop to learn asp.net best and after developing that website I can have better knowledge of asp.net ? I have never develop a website. And which are the features that should be there in that website ? And that features are normally seen in today's website.And what are the books which I should refer ?
Update: Which are the other technologies I should also learn like javascript,css to develop better website of this time?
Make sure first which flavor of ASP.NET you want to learn:
ASP.NET webforms
ASP.NET Dynamic data
ASP.NET MVC
There are for the above mentioned technologies great tutorials which let you make up a complete site and in the mean time learn a ton from it to be found here http://www.asp.net/web-forms/fundamentals and Nerddinner.
Update: I forgot to mention the Music store sample.
Grz, Kris.
One possibility would be to pick a fairly simple database that you know well (such as Northwind or pubs) and make a web site for displaying and updating its data. This will get you familiar with data display controls such as GridView and DetailsView, and with ASP.NET databinding. You'll get to play with events and with the ASP.NET page life cycle. When you create a data entry form, you can learn ASP.NET's validators.
Once you've done that, you'll have a good foundation in ASP.NET. Most important, have fun!
Build your own blog.
Create a website that geeks from all over the world can use to meet for lunch. You could call it GeekLunch.com ;-)
I'd second XIII's answer on learning to distinguish between webforms and MVC, but if you're starting from scratch, it would be helpful to know the basics of both, to better decide which you like.
I prefer getting a big application and then reverse engineering, some prefer starting from scratch.
You already have Nerddinner for a sample MVC app.
Here are some sample webform apps:
http://forums.asp.net/default.aspx/2
They're a little dated, but the fundamentals are there.

CRM for a call-center, with strong integration - build or buy? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
We have a custom CRM solution that among several things handles our call-center. That is, each call-center operator gets a queue of people (potential customers) to call based on a number of configurable rules. For example, certain operators only handle certain types of users. Call queues are ordered by call-time taking timezones into account.
EDIT: Operators dial manually. We're currently not interested in automating this.
Now we want to replace this call-center subsystem because it has several bugs, its implementation is very messy and the original developers left years ago.
So we're trying to decide whether to build this ourselves from scratch or integrate another CRM (like SugarCRM) for this specific task only.
But I'm totally ignorant about SugarCRM. Does it provide such a module? Is the SugarCRM API flexible enough to handle different rules to select and order a call queue? We're a .NET shop so we don't want to mess with SugarCRM's code. Or is there any other similar CRM you can recommend for this task? Where do I start?
Thanks in advance
If you are a .NET shop, is there a reason you've not mentioned MS Dynamics CRM ?
While there is a cost associated with it, there is a huge amount of customisation you can do, and if, at some point, you decide to look at telephony, it'd be straightforward to do that too.
I have built CRM systems that integrate with a PBX based dialing system. We had a lot of success with home grown systems.
I would advocate a build from my personal experience for the CRM portion.
What you are asking about, however, is the Dialing side of the system. This can be built as well - the API's for the Dialogic cards lend themselves nicely to .Net implementations. Now that is going to take some work, and most cheap dialers have some decent functionality out of the box to do what we want it to do.
It is when you get to complex functionality that they give up the ghost and by that time you are already so far tied into them that going into a new system is not feasible. I have seen this happen over and over again too.
If you have decent talent on hand, I would advocate writing the dialing system as well if you see yourself having to handle issues more intricate than your basic off-the-shelf dialer can handle.

ASP.NET MVC / ASP.NET WebForm data access application - what's the best architecture? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
In response to an answer posted by Marc Gravell and his suggestion via email, I was wondering:
What choices do people make when deciding on their architecture for a new project?
This question could serve as a decent reference point for links/ideas/suggestions/architecture decisions, anything really that is of interest when deciding the best way to approach a new solution.
I am currently working on an ASP.NET MVC application - mainly as a exercise to increase my experience of the new framework - that works with an ExtJs front end passing Json objects between the layers.
Testability is very important so my .NET layer uses interfaces to define contracts and consists of a service layer, which handles data validation and application logic, which in turn interacts with a repository layer that just handles the data persistence and retrieval. All allowing me to test quite thoroughly.
I have a custom model hierarchy that is based on the database, however, it is not related to any ORM (I am using LinqToSql at present) tool tying it to a particular platform. My repositories return my custom models and not their own database structures, which will hopefully allow me to develop different repository implementations in the future without too many problems.
Another reason for this approach was that I am working with a legacy database that has some interesting design choices and cannot change the structure too much at present, so I wanted a bit more control over the resultant models.
All this may seem completely wrong to some of you so tell me what you think ;)
It sounds like you are on the right track. Personally, in the current incarnations, I would always choose MVC over web forms. Web forms abstracts too much from the underlying model and I find it is usually more trouble than it is worth. Only if you can safely predict that you can stick tight to the model web forms was designed to handle, work within the out-of-the-box pattern, and do not care much about testability, would I recommend web forms.
The only other scenario where web forms might make sense is if you have a team of people highly ingrained with this technology and want to keep inline with existing application stacks. Even then, for the growth of your developers and long-term product maintenance (post transition), I still recommend MVC if you can swing it.
That said, Microsoft will probably continue to support the web forms model for some time and eventually the two models will probably become easier and easier to plug and play or interchange with one another (based on conversations I have had with a couple of the ASP.NET team's program managers).
while enticing at first, for me, webforms become difficult to manage as the application grows. with mvc, relationships are more natural and consistent with ideals.

Tools/Components for building a Survey Application [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
We are designing a survey application with the following features
The users will be able to select questions from a set of predefined questions.
Each question has a question type defined which dictates the type of answer (multiple choice, DB look up, free text etc)
The user can create a hierarchy of sections with multiple questions with in each section.
The responses of the survey will be stored to an SQL server database.
There is also a requirement to generate an output document from each survey response.
We are planning to implement this application using ASP.net.
I am looking for suggestions which will help us reduce the development effort. Is there any commercial/open source application which we can customize for our needs? is there any ready-made components which helps creation of dynamic ASP.net pages? I am only interested in application which i can host locally, as this has to be integrated to an existing application.
This may not be an exact fit, but worth looking at: Surveymonkey.
Unless feedback systems are your business's core competency, you'd be best off using a third-party system. Building a survey system is not as easy as it might seem, especially when it comes to reporting. Sure, you'll be able to bang out some simple reports without too much trouble, but every change wanted by a customer (or your boss) is time you'll be dumping into your survey and reporting engine when it could be spent on your actual business. Do yourself a favor and outsource that headache to a third party.
If your needs are simple, a freebie site like SurveyMonkey would be just fine. If you're looking for something more sophisticated, such as support for phone surveys, more advanced reporting, etc., you'd need to pay for a more advanced service, such as (cough) the one I work for.
http://www.codeplex.com/WebSurvey
looks like a good place to start
Try Zodiac.NET Survey Engine. It can be integrated direct in your ASP.NET website. No much work needed.
NSurvey used to exist for this, but I think they've gone solely commercial. If you can dig up the last open source release, it might be a good starting point.
Otherwise, don't build it. Subscribe to Wufoo
Another option would be to have users use InfoPath or Adobe Designer to create the survey forms that are distributed to survey takers (either by e-mail or web-site).
With InfoPath, you can have the responses call back to Web Services that you have written. Or, with both the packages, you can have the responses e-mailed back to a particular address and the XML that is sent can be parsed and processed.

Resources