It works OK as I am logged in as a site collection admin, but when i sign in as an owner or a visitor it gave acess denied.
Since the Web Part accesses a specific list (as configured via the Web Part Editor) you will have to check if some unique permissions are set for the list you specified.
Thus it might well be that not all users do have permissions to view that list.
You can check the List Permission settings via “Settings/List Settings/Permissions for this list”
Can you check if the trust level in your web.config file is set to “WSS_Minimal”.
If so, can you try to set it to “medium” as follows:
<trust level="WSS_Medium" originUrl="" />
Please try to put the DLL into c:\windows\assembly (GAC) instead of the BIN folder.
You should then also reset IIS to proper unload/re-load the DLL.
Web parts deployed to the GAC run at a higher privilege level.