Base solution for your next web application
Starts in:
01 DAYS
01 HRS
01 MIN
01 SEC

Activities of "flaskone"

thx

We would like to give tenants only limited option to manage permissions / roles. As part of the process, we have very granular permissions created in the solution, while only very limited part should be avaible for tenant to manage.

That is why we considered to deny tenants access to manage permissions but let them only manage some selected set or roles (which role configuration would remain on host level) but as far as we understand, assigning permissions to roles for particular tenants cannot be managed centrally on host level ? (could you please confirm) ?

So the scenario would be as follows: Host user can predefine and configure roles that could be used on the tenant level tenant user can assign a role to particular users but cannot see / edit granular permissions Or alternatively can we somehow filter the list of permissions available for tenant to configure to avoid confusion ?

Can this be done in the settings or does it need to be programmed? If coding, how do you approach it? Are there any tips?

Hi, this link doesn't work:

Is this solution a good solution when I have a few different menus? I need a completely different menu for one tenant than for another.

For example, one tenant has a menu:

  • Tasks
    • View
    • Calculations

but the second tenant one has:

  • Project
    • Management
    • Generator

e.t.c.

In my case, it does not depend on editions.

I quote info from https://aspnetboilerplate.com/Pages/Documents/Feature-Management Most SaaS (multi-tenant) applications have editions (packages) that have different features. This way, they can provide different price and feature options to their tenants (customers).

Thanks, for your help, you're right I forgot.

Answer

OK, thank you, I see that angular code is used recaptcha in 3 versions ( ReCaptchaV3Service ). I will have to do the service in version 2 myself.

Answer

The site is working, but then there was some problem with the server.

Console log after clicking submit button

and source:

Answer

Thank you, its works when I used Recaptcha version 3. Is it possible to use version 2 ? I didn't see any effect when I pushed submit button after setting tenant information. Absolutely nothing happened. I stayed on the same registration page.

Answer

Here is the full log saved from the browser console: login:1 Autofocus processing was blocked because a document already has a focused element. DevTools failed to load source map: Could not load content for https://demo.flask.one:8081/assets/metronic/themes/default/plugins/global/sourcemaps/tiny-slider.css.map: Unexpected token '<', "<!DOCTYPE "... is not valid JSON Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'browsing-topics'. polyfills.37187c61a4a413f6.js:1 POST https://demo.flask.one:8071/api/services/app/TenantRegistration/RegisterTenant 500 Vt @ polyfills.37187c61a4a413f6.js:1 scheduleTask @ polyfills.37187c61a4a413f6.js:1 onScheduleTask @ polyfills.37187c61a4a413f6.js:1 scheduleTask @ polyfills.37187c61a4a413f6.js:1 scheduleTask @ polyfills.37187c61a4a413f6.js:1 scheduleMacroTask @ polyfills.37187c61a4a413f6.js:1 d @ polyfills.37187c61a4a413f6.js:1 (anonymous) @ polyfills.37187c61a4a413f6.js:1 Z.L.<computed> @ polyfills.37187c61a4a413f6.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 _trySubscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 Se @ main.21360a73aaf5718d.js:1 V @ main.21360a73aaf5718d.js:1 _next @ main.21360a73aaf5718d.js:1 next @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 _trySubscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 b @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 b @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 r @ 23987.6141782ca85a3322.js:1 (anonymous) @ 23987.6141782ca85a3322.js:1 invoke @ polyfills.37187c61a4a413f6.js:1 onInvoke @ main.21360a73aaf5718d.js:1 invoke @ polyfills.37187c61a4a413f6.js:1 run @ polyfills.37187c61a4a413f6.js:1 (anonymous) @ polyfills.37187c61a4a413f6.js:1 invokeTask @ polyfills.37187c61a4a413f6.js:1 onInvokeTask @ main.21360a73aaf5718d.js:1 invokeTask @ polyfills.37187c61a4a413f6.js:1 runTask @ polyfills.37187c61a4a413f6.js:1 at @ polyfills.37187c61a4a413f6.js:1 invokeTask @ polyfills.37187c61a4a413f6.js:1 rt @ polyfills.37187c61a4a413f6.js:1 yt @ polyfills.37187c61a4a413f6.js:1 Gt @ polyfills.37187c61a4a413f6.js:1 scripts.c42ea64d2215c7bd.js:1 ERROR: scripts.c42ea64d2215c7bd.js:1 {code: 0, message: 'Unable to determine that you are not a robot.', details: null, validationErrors: null} main.21360a73aaf5718d.js:1 ERROR Error: An unexpected server error occurred. at Ue (main.21360a73aaf5718d.js:1:1542858) at main.21360a73aaf5718d.js:1:1172228 at Se (main.21360a73aaf5718d.js:1:1692192) at V (main.21360a73aaf5718d.js:1:1692128) at p._next (main.21360a73aaf5718d.js:1:1689029) at p.next (main.21360a73aaf5718d.js:1:1679595) at t.onload (main.21360a73aaf5718d.js:1:1542958) at V.invoke (polyfills.37187c61a4a413f6.js:1:6865) at Object.onInvoke (main.21360a73aaf5718d.js:1:2109449) at V.invoke (polyfills.37187c61a4a413f6.js:1:6802) handleError @ main.21360a73aaf5718d.js:1 next @ main.21360a73aaf5718d.js:1 next @ main.21360a73aaf5718d.js:1 _next @ main.21360a73aaf5718d.js:1 next @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 next @ main.21360a73aaf5718d.js:1 emit @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 invoke @ polyfills.37187c61a4a413f6.js:1 run @ polyfills.37187c61a4a413f6.js:1 runOutsideAngular @ main.21360a73aaf5718d.js:1 onHandleError @ main.21360a73aaf5718d.js:1 handleError @ polyfills.37187c61a4a413f6.js:1 runTask @ polyfills.37187c61a4a413f6.js:1 invokeTask @ polyfills.37187c61a4a413f6.js:1 W.invoke @ polyfills.37187c61a4a413f6.js:1 W.args.<computed> @ polyfills.37187c61a4a413f6.js:1 setTimeout (async) nt @ polyfills.37187c61a4a413f6.js:1 scheduleTask @ polyfills.37187c61a4a413f6.js:1 onScheduleTask @ polyfills.37187c61a4a413f6.js:1 scheduleTask @ polyfills.37187c61a4a413f6.js:1 scheduleTask @ polyfills.37187c61a4a413f6.js:1 scheduleMacroTask @ polyfills.37187c61a4a413f6.js:1 d @ polyfills.37187c61a4a413f6.js:1 (anonymous) @ polyfills.37187c61a4a413f6.js:1 Z.L.<computed> @ polyfills.37187c61a4a413f6.js:1 setTimeout @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 q @ main.21360a73aaf5718d.js:1 error @ main.21360a73aaf5718d.js:1 _error @ main.21360a73aaf5718d.js:1 error @ main.21360a73aaf5718d.js:1 _error @ main.21360a73aaf5718d.js:1 error @ main.21360a73aaf5718d.js:1 u @ main.21360a73aaf5718d.js:1 _trySubscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 Se @ main.21360a73aaf5718d.js:1 V @ main.21360a73aaf5718d.js:1 _next @ main.21360a73aaf5718d.js:1 next @ main.21360a73aaf5718d.js:1 t.onload @ main.21360a73aaf5718d.js:1 invoke @ polyfills.37187c61a4a413f6.js:1 onInvoke @ main.21360a73aaf5718d.js:1 invoke @ polyfills.37187c61a4a413f6.js:1 runGuarded @ polyfills.37187c61a4a413f6.js:1 (anonymous) @ polyfills.37187c61a4a413f6.js:1 load (async) set @ polyfills.37187c61a4a413f6.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 _trySubscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 b @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 _error @ main.21360a73aaf5718d.js:1 error @ main.21360a73aaf5718d.js:1 _error @ main.21360a73aaf5718d.js:1 error @ main.21360a73aaf5718d.js:1 _error @ main.21360a73aaf5718d.js:1 error @ main.21360a73aaf5718d.js:1 _error @ main.21360a73aaf5718d.js:1 error @ main.21360a73aaf5718d.js:1 _error @ main.21360a73aaf5718d.js:1 error @ main.21360a73aaf5718d.js:1 _error @ main.21360a73aaf5718d.js:1 error @ main.21360a73aaf5718d.js:1 u @ main.21360a73aaf5718d.js:1 _trySubscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 u.subscribe.P @ main.21360a73aaf5718d.js:1 _next @ main.21360a73aaf5718d.js:1 next @ main.21360a73aaf5718d.js:1 be.onload @ main.21360a73aaf5718d.js:1 invoke @ polyfills.37187c61a4a413f6.js:1 onInvoke @ main.21360a73aaf5718d.js:1 invoke @ polyfills.37187c61a4a413f6.js:1 runGuarded @ polyfills.37187c61a4a413f6.js:1 (anonymous) @ polyfills.37187c61a4a413f6.js:1 load (async) set @ polyfills.37187c61a4a413f6.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 _trySubscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 _error @ main.21360a73aaf5718d.js:1 error @ main.21360a73aaf5718d.js:1 Rt @ main.21360a73aaf5718d.js:1 invokeTask @ polyfills.37187c61a4a413f6.js:1 onInvokeTask @ main.21360a73aaf5718d.js:1 invokeTask @ polyfills.37187c61a4a413f6.js:1 runTask @ polyfills.37187c61a4a413f6.js:1 invokeTask @ polyfills.37187c61a4a413f6.js:1 rt @ polyfills.37187c61a4a413f6.js:1 yt @ polyfills.37187c61a4a413f6.js:1 Gt @ polyfills.37187c61a4a413f6.js:1 load (async) x @ polyfills.37187c61a4a413f6.js:1 scheduleTask @ polyfills.37187c61a4a413f6.js:1 onScheduleTask @ polyfills.37187c61a4a413f6.js:1 scheduleTask @ polyfills.37187c61a4a413f6.js:1 scheduleTask @ polyfills.37187c61a4a413f6.js:1 scheduleEventTask @ polyfills.37187c61a4a413f6.js:1 (anonymous) @ polyfills.37187c61a4a413f6.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 _trySubscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 Se @ main.21360a73aaf5718d.js:1 V @ main.21360a73aaf5718d.js:1 _next @ main.21360a73aaf5718d.js:1 next @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 _trySubscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 b @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 b @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 (anonymous) @ main.21360a73aaf5718d.js:1 p @ main.21360a73aaf5718d.js:1 subscribe @ main.21360a73aaf5718d.js:1 r @ 23987.6141782ca85a3322.js:1 (anonymous) @ 23987.6141782ca85a3322.js:1 invoke @ polyfills.37187c61a4a413f6.js:1 onInvoke @ main.21360a73aaf5718d.js:1 invoke @ polyfills.37187c61a4a413f6.js:1 run @ polyfills.37187c61a4a413f6.js:1 (anonymous) @ polyfills.37187c61a4a413f6.js:1 invokeTask @ polyfills.37187c61a4a413f6.js:1 onInvokeTask @ main.21360a73aaf5718d.js:1 invokeTask @ polyfills.37187c61a4a413f6.js:1 runTask @ polyfills.37187c61a4a413f6.js:1 at @ polyfills.37187c61a4a413f6.js:1 invokeTask @ polyfills.37187c61a4a413f6.js:1 rt @ polyfills.37187c61a4a413f6.js:1 yt @ polyfills.37187c61a4a413f6.js:1 Gt @ polyfills.37187c61a4a413f6.js:1

Showing 1 to 10 of 12 entries