User Profile & Activity

Domingo Fugaban Member
Page
of 6

We just need to pass data to the target viewmodel, and capture and process that data from Navigated event.

Hi,

Can anyone confirm this issue? Thanks!

Well, I believe my question regarding the EntityContext is for the BasicAuthHttpModule dirently instantiating the IdentityContext() object. In which case we can't see any method to pass in the CompanyCode into the request before it even authenticates the user. Sure the controllers can be manipulated since these things do accept parameters, but that's not the case for the BasicAuthHttpModule. Or we could be wrong.


The only way I see how to pass a company code to that module is to concatenate it with the password, assuming it is being submitted in plain text (not already hashed). Then, parse that password to get the company code from there and create a connection string, before the AuthenticateWebApiUser(string credentials) even retrieves the UserManager from the IdentityContext using the default connection.


Does that make any sense? Or is there another way of doing it? Our enterprise application do serve multiple clients, so please bear with us in this matter. We are thinking of creating separate IIS Virtual Applications for each client to get rid of this predicament, but that's gonna cause huge deployment resources.


Well, let us know what you think. We do value your advice, so please do keep 'em coming. As always, thanks!

Hi Yudi,


As always, you do provide great help. Now that we have established connection with identity services, how does crosslight actually use the
BasicAuthHttpModule module? By that, I mean how are the passwords being hashed? Is it the ASP.NET identity that is doing the hashing? If not, how do we customize PasswordHash in order to use our own, since our user accounts were created using a different hash algorithm. In addition, how do you pass a CompanyCode to BasicAuthHttpModule in order to dynamically create a valid connection string to the IdentityContext() within that module? Is there a way to do that with the existing implementation?


Many thanks!

Hey guys, any thoughts on this?


Thanks!

Hey Guys! Awesome release on Update 3. I understand you might be very busy, and deserves quite a break after that great new update release BUT I do hope you find time to give us some advice regarding this issue. Now that we are really trying take advantage of Crosslight feature, we would really appreciate you taking time helping us out with this one. Here are few insights that we have:

  1. We are really new with MVC and Web API, and considering going for custom routing (e.g. data/{controller}/{companyCode}/) to our URL, instead of Crosslight's pre-defined route. Question is... is that a good way to go, considering we don't want to screw any of the existing services with Crosslight. That said, we are really aiming for less customization as possible to really fit in with Crosslight's services.
  2. We understand you have opened souces to your Intersoft.AppFramework, is that an indication that we can implement our own logic with the existing interfaces such as IUserService, IUserRepository, and IAccountService to name a few? We're guessing it is, but the answer still lies upon you. If the case is true, can we do constructor injection on these implementations, such that we can provide a custom parameter (e.g. ICompanyService) to pass the companyCode property?

BUT, we're looking forward to getting a response from you. Your feedback regarding this matter is really appreciated. As always, many thanks!

You rock! Solid rock! Thanks!

Hey guys, any thoughts on this?


Thanks!

Hi Yudi, Any updates? Please advise. Thanks!

Nevermind, we've managed to make it work using a property/field from the viewmodel. Using the same setup with "IsNewItem" from the ItemEditorViewModel. Here's the attribute setup.

[EnabledBinding(Path = "EnableEntries", SourceType = BindingSourceType.ViewModel, ConverterType = typeof(BooleanConverter))]

Hope others will find it useful. Thanks!

P.S. Although this worked, the fact remains that using a property/field from the item model doesn't. Or we could be missing something, and this should still remain an open case.

Yes, we are using a boolean type. These bindings do work initially. But once the values are changed, the view is not being notified. Primarily, we are using EnabledBinding, can you try that as well and confirm if its working on your end.

In addition to this, we are setting the property value of this.Item.EnableEntries property from the ItemEditorViewModel, not from ItemListViewModel. Basically, setting the property value from ItemListViewModel does work before loading the ItemEditorViewModel because it has not been loaded yet.

All times are GMT -5. The time now is 10:04 PM.
Previous Next