SSRS user permissions disappear - sql-server

Without any particular reason, user permissions on Reports disappear and we are going through them one by one to re establish user access. We have no idea how this happens. The problem appears on a random number of users. It is the second time it happens in the last 12 months.
I am afraid that is all the details i have on the problem.
I am going to schedule a back up job for dbo.Policies, dbo.Users,dbo.Roles and dbo.Catalog to avoid the manual user permission restore, but i would really appreciate if anyone has some explanation about this.
EDIT: we have users coming from 2 domains. The problem occurs on users coming from one domain. Users from the other domain remain intact

Related

Restrict Access for users on Leave

How to restrict access to salesforce application for the time users are on leave on basis of Leave start and end date?
Freeze user on leave start date and then unfreeze on leave end date ?
Any other automation approach ?
What exactly you want to achieve? Nightly batch job that does either of these should be enough? Not sure if you can do time-basrd workflows/processes on users.
You can (de)activate them although it's bit of a nuclear option. Other users might be impacted when they work with deactivated users' data, "operation was performed with inactive user" error.
You can (un)freeze manually or by modifying UserLogin table, each user will have 1 record in it. https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_userlogin.htm
If you want them to be able to log in but do limited set of things - you could look at your sharing rules and temp change their role/group/whatever. Or change profile to read-only. Or unassign a permission set.
Then there are more sophisticated things like maybe disabling their SSO, having a login flow that checks something on user record, checking up addresses (like allow login only from office network, not from home). You could look into "high assurance sessions", multi factor authentication (take their work phone or RSA device when they go on holidays?) or there's interesting trailhead about detecting / preventing suspicious activity. https://trailhead.salesforce.com/content/learn/modules/enhanced_transaction_security and https://trailhead.salesforce.com/en/content/learn/modules/event_monitoring

How to update database table column for signed-in users in case of crash or power failure?

I found this thread and this thread, but haven't found a solution I can understand. I'm building a winforms desktop application that I hope to install on a few machines that query a database on a network drive. My goal was to make a table with usernames and a boolean that changes to 'true' when the user signs into the app. My intent was to prevent the same user from signing in on two machines at once. However, it occurred to me that an app crash or loss of power would prevent any code I could write from updating the datatable table column to 'false'. I'm a novice-intermediate programmer, not a professional, and I haven't found a solution so please forgive me. All suggestions would be appreciated. Some suggestions I have found are creating a table with sign-in and sign-out timestamps and to compare the time between them at startup, using session IDs (which I'm not sure how to do), and attempting to catch crashes to trigger some code. The problem is I'm not sure if there's a consensus on what the proper way is to accomplish what I'm trying to do, which is to prevent duplicate logins and also logging out users automatically in the event of some system failure so that they can login again later.

Conceptual issue: Verifying that two users are present

I'm a programmer who is about to release an intranet site where apprentices can rate their educators and vice versa. Currently the system is working as planned, however HR wants some way to verify that the users are OK with their ratings. If not, they should be able to unlock their ratings so that the other person has to re-do the rating.
Unfortunately, HR also wants to reduce the amount of logins that these users have to endure. In the worst case scenario, users have to:
Log in to rate the educator/apprentice
Log in to unlock the rating
Log in to rate the educator/apprentice again
And so on...
The user who fills the rating has to be user A, while the user who unlocks or confirms the rating has to be user B. User A can also unlock the rating if they have a correction.
This process has to be done twice - once for the educator, once for the apprentice.
There is usually only one workstation present (factory environment).
Possible solution:
My suggestion is a kind of meeting workflow. One user logs in, clicks a button in the appraisal and the workflow starts. The other user is prompted to log in. This starts a kind of "double session" with both users logged in at the same time. This is a way to verify that both of them are present in a meeting.
This process could be used for multiple ratings at the same time, guiding the users through the process one by one.
HR wants both of them to meet and discuss their ratings.
Are there any security and/or best practice concerns that I should be aware of? The system has to be ready on the first of August, so I'm really hoping to solve this issue as easily as possible. Are there better ways to do this?
It turns out that my idea of logging in two users at the same time wasn't so bad. At first, a regular user logs in and launches the meeting mode. In order to verify that the other user is present, this second user logs in. Both user's data is now stored in the session and the meeting workflow launches, guiding both of them through their appraisals. When the last appraisal is finished, the second user is logged out.
This question is solved.

Microsoft Access database-form slow when form properties set to: "Edited records locked"

I have an issue with a simple access database. through debugging I have isolated the issue to the specific forms record lock setting. I have a split database and a simple form accessing the data. When two users are connected at the same time the second user to connect suffers serious performance issues on the form. It does not matter who connects first, It is always the second user that has this performance hit. If I change record locks on the form to no locks then there is no problem. I, however, require the record locks.
The performance hit is purely when editing a record. Not on locked records either, the locks work correctly, but when the second user edits any non-locked record the edits take forever to load. simply ticking a check box takes 1 minute to complete (during this one minute the screen freezes). For user number-one this remains instantaneous.
I am using Microsoft access 2016. But have the same issue when I use 2013.
Any help on this head scratcher would be much appreciated!
Tom

Get information from various sources

I'm developing an app that has to get some information from various sources (APIs and RSS) and display it to the user in near real-time.
What's the best way to get it:
1.Have a cron job to update them all accounts every 12h, and when a user is requesting one, update that account, save it to the DB and show it to the user?
2.Have a cron job to update them all accounts every 6h, and when a user is requesting one, update the account and showing it to the user without saving it to the DB?
What's the best way to get it? What's faster? And what's the most scallable?
12h or 6h, you have to do the math your self, you are the only one to know how many sources, how is your app hosted, what bandwidth you have....
Have a look at http://developmentseed.org/portfolio/managing-news it is drupal based and does what you need (and much more). You can either use it or diving in the code and see how it is done.

Resources