Base solution for your next web application

Activities of "cmthomps"

Per email echange with Ismail, opening this ticket just to confirm that Volosoft's banking information has changed.

Thanks, Craig

Just looking for some historical documentation for version 1.9... Is that available somewhere?

Trying to login to the main aspnetzero site to download the latest code. Getting invalid user name or password even after resetting my password.

Just downloaded a new 7.1 Core MVC/jquery project and having an issue with the create-bundles script on my Mac. For some reason, some URLs are getting replaced by the full UNC local path on my machine. It doesn't seem to happen on a Windows box that I have. Here is an example of what is happening:

In core.less there is the following:

/* Social Login Icons */
.kt-login__options form a i.fa-openidconnect {
    background: url(../Images/Social/openid.png) no-repeat;
    width: 16px;
    height: 16px;
}

After running npm run create-bundles, I get the following in common-styles.min.css:

/* Social Login Icons */
.kt-login__options form a i.fa-openidconnect {
  background: url(/dist/img//Users/cthompson/Projects/SmcProject/SmcServerProject/src/Smc.SmcProject.Web.Mvc/wwwroot/Common/Images/Social/openid.png) no-repeat;
  width: 16px;
  height: 16px;
}

I get similar results whereever the "url(" function is used in css. Thoughts?

Thanks, Craig

I want to check a permission in the Login method of the AccountController. I'm checking a permission using PermissionChecker.IsGrantedAsync after GetLoginResultAsync, but it always comes back false. I'm assuming that the permissions get created sometime later. Is there away that I that I can accomplish that?

Thanks, Craig

Have you implemented AspNetZero using the the StackExchange Redis Backplane? Trying to tackle SignlaR behind a load balancer using Set up a Redis backplane for ASP.NET Core SignalR scale-out. I've added the StackExchangeRedis NuGet package and called AddStackExchangeRedis after the AddSignalR method. Everything seems to work ok, but SignalR only works for users that are connected to the same server. If user A is on server 1 and user B is on server 2, it doesn't work. If A & B are both on Server 1, it works. This is the code we've implemented in the Startup ConfigureServices.

var signalrBuilder = services.AddSignalR(o =>
{
    o.EnableDetailedErrors = true;
});

signalrBuilder.AddStackExchangeRedis(_appConfiguration["SignalR:ConnectionString"], options => {
    options.Configuration.ChannelPrefix = "zerochannel";
});

I can see all the servers "subscribe" in the redis logs. But for some reason, when I message goes out of one server the other servers are not picking it up. This is an example of what I see in Redis.  I'm not entirely sure the meaning/importance of the names on the SUBSCRIBE lines.

1549404094.848664 [0 172.17.0.12:37121] "AUTH" "XXXXXXX"
1549404094.848693 [0 172.17.0.12:37121] "ECHO" "\x89\xcf\xf7\xf4>\xaf C\x9cz\x88\xd8\xf1\x98\xb6\x05"
1549404094.848704 [0 172.17.0.12:37121] "SUBSCRIBE" "zerochannel__Booksleeve_MasterChanged"
1549404094.864930 [0 172.17.0.12:36336] "AUTH" "5NSAjVIyvGmfpBot"
1549404094.865012 [0 172.17.0.12:36336] "INFO"
1549404094.865086 [0 172.17.0.12:36336] "ECHO" "\x89\xcf\xf7\xf4>\xaf C\x9cz\x88\xd8\xf1\x98\xb6\x05"
1549404094.866966 [0 172.17.0.12:36336] "PING"
1549404094.866995 [0 172.17.0.12:36336] "GET" "__Booksleeve_TieBreak"
1549404094.867013 [0 172.17.0.12:36336] "PING"
1549404094.867017 [0 172.17.0.12:36336] "GET" "__Booksleeve_TieBreak"
1549404094.867023 [0 172.17.0.12:36336] "INFO" "replication"
1549404095.289384 [0 172.17.0.12:37121] "SUBSCRIBE" "zerochannelSMCDemo.Web.Chat.SignalR.ChatHub:all"
1549404095.333222 [0 172.17.0.12:37121] "SUBSCRIBE" "zerochannelSMCDemo.Web.Chat.SignalR.ChatHub:internal:groups"
1549404095.366710 [0 172.17.0.12:37121] "SUBSCRIBE" "zerochannelSMCDemo.Web.Chat.SignalR.ChatHub:internal:ack:smczero-deployment-858c6845f9-sn8p4_056b26b232fe4cc99fdee32792553850"

Trying to get AspNetZero 6.4 MVC Core/jQuery functioning inside a docker container. The docker container runs and the application loads in the browser, but it looks like some of the javascript isn't loading properly. On the login screen, I get two javasript errors:

  1. app.localize is not a function
  2. app.ModalManager is not a constructor

It's ok when I run it from the Visual Studio directly. I don't get those errors. I've tried running yarn and npm run create-bundles many times but I still get the same result in docker. I haven't modified the build-mvc.ps1 script at all.

Any thoughts?

We were having trouble with getting aspnetzero MVC/jQuery to work with redis behind a load balancer. We couldn't get it to work unless we used sticky sessions. We think we finally figured it out. We had to add the following code to persist the keys to redis in the startup.cs class:

if (_appConfiguration["Abp:RedisCache:PersistKeysToRedis"] != null && bool.Parse(_appConfiguration["Abp:RedisCache:PersistKeysToRedis"]))
            {
                var redis = ConnectionMultiplexer.Connect(_appConfiguration["Abp:RedisCache:ConnectionString"]);
                services.AddDataProtection()
                    .PersistKeysToRedis(redis, "DataProtection-Keys");
            }
            else
            {
                services.AddDataProtection().DisableAutomaticKeyGeneration();
            }

Is that the correct solution? If so, should I add it as an issue in github?

We are creating an organizational unit structure that has many individual items (~20,000). As of the moment, the tree loads but it is very slow. Any thoughts on how to make the tree use lazy loading (load the child OUs on click of the parent)? Would that be a huge effort?

Thanks, Craig

I'm trying to implement openid with okta using the okta widget. The documentation can be found here:

https://developer.okta.com/code/javascript/okta_sign-in_widget

I've got the widget rendering and I've modified the AccountController Login Method to return a Challenge Response.

if (!HttpContext.User.Identity.IsAuthenticated) { var properties = new AuthenticationProperties(); properties.Items.Add("sessionToken", sessionToken); properties.RedirectUri = "/app/dashboard"; return Challenge(properties, OktaDefaults.MvcAuthenticationScheme); } return RedirectToAction("Index", "Home");

I did this based on the okta example at https://github.com/oktadeveloper/okta-aspnetcore-mvc-example.

The okta sample works. But with my aspnetzero test project, I get a cors error after the challenge response.

Failed to load https://dev-586182.oktapreview.com/oauth2/default/v1/authorize?client_id=0oagaur4ukBFH91Od0h7&redirect_uri=http%3A%2F%2Flocalhost%3A62114%2Fauthorization-code%2Fcallback&response_type=code&scope=openid%20profile%20email&response_mode=form_post&nonce=636749499861104637.OWVjOGM2MzItODVhNS00MWU5LWI2NDQtZmE3YWEzMGMwZjIyZmQ2ODQwNTAtYjNiOC00ZTkwLThlYWYtOWFlNGRjOGE3YmIw&sessionToken=20111HIi49zni2fMgl9HsggpGhLnukMlTvIK2gVVWL_3c6bK7Ijq0e3&state=CfDJ8LRmRAoWNcxFrJRw5HHQysQzWhO-9Kwx2z8FNwUZylHUEde9SLy_fcsk3YAUaFtO4Maw_FxyHaTnpyc-HbXgmhjZwXgD5J8krSwBJWR83XmqGngBVCQqfboIKo5SmrFjv8g-tKqPFpwRKuSlD6yEWU2Q8lflrLrM5J5OAQep-beiBQqqaUThPKFdAw3v2w9MfRs95rXE4QUHFLrnw3L2SqLCzESVXpa3xiL_NwyhgsG7l69Anb-kTONGrtCREhbAljxfdPRosd1H0BQWbWsgoSlPeDwBDAdldkMntzJyTYtRtUw31jJRyKZCBlY_xkOXGqQNHIbJbqbCKGjgD3lh2B1saAbjvFwKoNxfi-CJxxBeoEEqoO24BFAGRN4Yl095VUeXHBEu0uCJ1RHyn3a4VsAOO0TsmeE1nqTEZuKHSpks&x-client-SKU=ID_NET451&x-client-ver=5.2.0.0: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:62114' is therefore not allowed access.

When I look at Fiddler to see what the differences are between the two, I see the following:

Okta Sample:

GET https://dev\-586182\.oktapreview\.com/oauth2/default/v1/authorize?client\_id=0oagavcxawHIwhL0v0h7&redirect\_uri=http%3A%2F%2Flocalhost%3A50336%2Fauthorization\-code%2Fcallback&response\_type=code&scope=openid%20profile%20email&response\_mode=form\_post&nonce=636749485315680253\.YWI5NmM0OTYtNmI5ZS00ZDdhLWI3YmQtZGRlODEyZDhlYTg1MmI3MWI0NDAtMzY5Ny00MmRkLTk0NTItN2NjNGM3MDk3OWMy&sessionToken=20111TZBaJj2UhRVDGyRC1ibEgwfPHi7BpH1FtjrqQdWKgQQcWeQAa5&state=CfDJ8LRmRAoWNcxFrJRw5HHQysT\_mCxdITM8LSpdFcyQylyYlrvf\_IULJTU1bxCNDrA4fwJTYirtf3BbBfx4hqb6R3nfp6aZLY6LltGFrllXW8AxP8oGhPSLZt\_dphp9MLFgnEiN2YbJwfoBfsclWolORc5l7o673dMOtOZm430zzDVQNybrio5Xl4e9NZKOCQ2UGvVR3T5T7NwbNG9jLbV\-Wl15qeh6tDZJvtv6yC8glj9SnIqMwDpa\-mGRE02NUG5UN8omJHDkqKu8xE8Da3P8lbeIZjTYKkEActLAmgZB1ZrtT6F\_e\_Jo2HJBmzZ61eP\-Nisp0cNiX7wGs\_axa5fjwR5KWyC4EWFyEPoDvDivFi46y9tz8citEr7u8F8K\-XoUqO\_pit1Tb6bDeGCr9peXXkxH5\_El9jYXUWq\_A4ZnEHkf&x\-client\-SKU=ID\_NETSTANDARD1\_4&x\-client\-ver=5\.2\.0\.0 200 OK (text/html)

AspNetZero Test:

OPTIONS https://dev\-586182\.oktapreview\.com/oauth2/default/v1/authorize?client\_id=0oagaur4ukBFH91Od0h7&redirect\_uri=http%3A%2F%2Flocalhost%3A62114%2Fauthorization\-code%2Fcallback&response\_type=code&scope=openid%20profile%20email&response\_mode=form\_post&nonce=636749484127536656\.NDc5OWM0MjAtNDExNy00NzAxLThkY2QtYjgyMTUyNDU4NDE0YzAyZDk5MzAtNTM3ZC00MDdiLThjYjctMjViYWNiNmRjYzVh&sessionToken=201115ITj3rXCMp473fVmULJCyQ4rpT3quS7wFqm9CYFVjSsWcMdLnH&state=CfDJ8LRmRAoWNcxFrJRw5HHQysSOL69ljb\_XmubbdQRu6u5yvUlhVRVcs9GnQDv4GZzwhPviVtZcBZWfu5cu746suqp2hGeW4wMy9qUzH9lIpzQaR3fHe4h9jRLCmS4YG48VUy5jBcCaz7oOhmRBD2FqmqyMcd3\_3gDRwU89UO9Acd5WEI\-0CQ\_mHy0GX24a9iVXNnCqftdPlPg8t\-4x501UiOtIfTo7J0HRk5cI\-WkX5R\_gJa5rp5lHG\-gMlQeEmKpBpBOmGFrEGBAJui0I\-RercQP0rAnFYg2s\_P5Oa1VrAC0U1sJ3TbMrbA9VYLBkiUM7K7rzueYh7os6uTsUeMDVv4qV3\_67oQM1BmjbKyzL7hw2iLSjVcuaaS5BbgxWyb\_QvgouezEHTsSbZcac0X1HrMu\-CZ01YnUMlaMfdJMHzbum&x\-client\-SKU=ID\_NET451&x\-client\-ver=5\.2\.0\.0 200 OK ()

I think the difference is that for some reason the Okta sample results in a get whereas the AspNetZero response results in an Options that I think is then failing because of cors.

Any thoughts? I know this one is tricky. I can send you both projects so that you can try it yourself.

Thanks, Craig

Showing 1 to 10 of 29 entries