Skip to main content

70-562 Membership Controls



No role based control are already inculded in the 3.5 framework, but there are membership controls for almost every authentication and authorization scenario, already built in the 3.5 framework, which allows to create controls fast, with little to no code. Using these will allow other .net developpers to quickly understand (and maintain as necessary) your security controls since they are common knowledge. They are easy to modify and also customizablelook and feel. They are rich server controls, so integrate other smaller controls. They integrate seamlessly with existing security feature like    


LoginStatus: displays a link to logout if you're logged in, take to the specified page, it's possible to set the text of the link, and an event occurs before he attemps to login our or log, and also one event after. Available from the toolbox in the login section. The smart tag in design mode allows to toggle from login and logout.


Login: takes data from a user that isent authenticated, confirms or denies, has 4 events, Authenticate, LoggingIn, LoggedIn, and LoginError. Use the smart tag in design mode to autoformat, or convert to template to move the embeded controls around. If you change the IDs, the controls wont work anymore. It's possible to change the button to an image button from the properties window of the Login control.

LoginView: displays different pannels for anonymous and authenticaed users, use smart tag to configure each view, can also create those panels to be role specific. Events: ViewChanged, ViewChanging. The format string for the logged in user always replaces the {0} by the username. Tipicaly, a anonymous panel would contain a link saying forgot your password that would be configured to point to the password recovery page containing the corresponding control.

LoginName: Simply displays the name of the authenticated user. ChangePassword: Password recovery text, password recovery url, it contains mutliple templates including the one for success and the one for failure to change password.PasswordREcovery: asks the password recovery question, can mail the password to the user. In order to send mails, the smtp settings have to be configured, since it requires to be able to connect to a smtp mail server to be able to send emails. Provide ip, port, and from name, and have to specify how authentication is done to send the e mail. NTML would use the current credentials, and basic is if your mail server requires to provide a user name and password when sending an email, or use none if the mail server is local. An confirmation code is emailed, loging in should offer the change password link,

CreateUserWizard: Allows user to create a user account, the dev is allows to personalized the steps of this wizard, and templated for easy modification. It not only creates the user on submit but automticaly logs the user in on the same submit request. the redirect page is specified int eh properties of this control.





Comments

Popular posts from this blog

React JS Patterns

React JS is always evolving, and evolving quickly. These evolutions can be very significant ones, for example, the addition of hooks. React has a lot of code patterns, often these patterns are motivated by the DRY and/or the open-close principle. These patterns sometimes come in to replace a previous one, yet the previous ones still stays in use, as a consequence, the list of patterns keep growing. The goal of the next few posts will be to list the patterns commonly used in React JS developpement. Some patterns are more specific to JSX and I will start with these, and maybe add patterns specific to Redux.

Rxjs Forkjoin vs Zip

These Rxjs combination operators are handy to make Rest calls in parallel and combine their results. Both take n observables and will return the results, with the difference that forkJoin will complete even if one of the nested observables errors of completes.

70-562 Custom Visualizers

Framework objects are clearly viewable in the locals window during debugging. User made class librairies and their object need to provide visualizers for maintenance and debugging. You can create your own visualizers, MS exposes the functionnality through the .Net Framework; and this is relatively easy. Mulitple visualizers can be created per type. You can have tree views, grids; customizing it to the way that is the most usefull for debugging this particular object. The [Serializable()] attribute has to be included to your class to allow the visual studio visualizer to parse the object. A visualizer is a dll, a regular assembly, it requires a windows form to display the data. The visualizer class will be implemented by the form. The visualizer class has to inherit the DialogDebuggerVisualizer class with the DebuggerVisualizer attribute, and also the Microsoft.VisaulStudio.DebuggerVisualizers namespace. The visualizer can be made to only read, or modify existing data. T...